Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

experiment: YFS backend POC [WIP] #64

Draft
wants to merge 46 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d88d7e8
wip
billiegoose Oct 26, 2020
66bf666
wip: thread-safety test
billiegoose Oct 27, 2020
e839551
wip: switch to uuid to prevent conflicts
billiegoose Oct 27, 2020
34844fb
chore: move DATA to separate Map
billiegoose Oct 27, 2020
cb3d014
fix: Yjs 'Buffer' bug
billiegoose Oct 27, 2020
c369455
skip deactivation
billiegoose Oct 27, 2020
e813eb4
wip: Hey, it kinda works in Studio now!
billiegoose Oct 27, 2020
ff28f11
hacky, but it works for now
billiegoose Oct 28, 2020
cf2bc39
wrap in transactions with origins
billiegoose Oct 28, 2020
9411bde
wip: use computed diffs for updating Y.Text
billiegoose Oct 28, 2020
a62dcce
wip: cleanup
billiegoose Oct 28, 2020
1ea1207
wip: refactoring
billiegoose Oct 28, 2020
9c34f5f
finish refactoring
billiegoose Oct 28, 2020
baa2f0d
solve 'rename' tracking
billiegoose Oct 29, 2020
cd6d11a
solve distinguishing 'unlink' and 'rmdir' via soft-delete
billiegoose Oct 29, 2020
a717505
remove y-indexeddb and y-websocket
billiegoose Oct 30, 2020
709d25b
add fs.promises.openYText(filepath)
billiegoose Oct 31, 2020
c06480c
rename openYText -> openYType
billiegoose Nov 3, 2020
83eea87
add yjs dep
billiegoose Nov 3, 2020
c4ad170
use user-provided instance of Yjs
billiegoose Nov 4, 2020
ba63f81
unset old _yfs if fs is re-initialized
billiegoose Nov 4, 2020
2fce2a1
bind and make sync
billiegoose Nov 4, 2020
41bca37
wip flatten STAT
billiegoose Nov 6, 2020
61018e7
finish flattening STAT
billiegoose Nov 6, 2020
62ae585
fixes to return correct ino in writeStat
billiegoose Nov 6, 2020
0e07324
store content in inode, remove deleted flag
billiegoose Nov 6, 2020
d1af634
remove SIZE
billiegoose Nov 6, 2020
39a7019
benchmark
billiegoose Nov 7, 2020
d1bf198
WIP migrating to client-clock
billiegoose Nov 7, 2020
fdd2086
finished migrating to client-clock
billiegoose Nov 7, 2020
761b2ce
improve client-clock
billiegoose Nov 7, 2020
dda06b8
simplify (PREV)PARENT and (PREV)BASENAME to single PATH
billiegoose Nov 8, 2020
c936a51
move cleanParam logic to _wrap
billiegoose Nov 30, 2020
ff5e414
move guts into DefaultBackend
billiegoose Nov 30, 2020
9c8c3c9
move YJS out of LightningFS proper into a 'backend' argument
billiegoose Dec 1, 2020
78799b2
simplify
billiegoose Dec 1, 2020
797d239
bring back 'defer' param
billiegoose Dec 1, 2020
ecef48e
drop 'async' from DefaultBackend methods that don't need it
billiegoose Dec 1, 2020
e2a67e9
Merge branch 'feat/custom-backend' into yfs
billiegoose Dec 1, 2020
80fcea3
move YjsBackend to src/backends/yjs
billiegoose Dec 1, 2020
885f6d6
cleanup
billiegoose Dec 1, 2020
b9fc540
more realistic
billiegoose Dec 1, 2020
d648fae
replace path.js with @stoplight/path (mostly)
billiegoose Dec 1, 2020
fd464c7
remove peerDependency
billiegoose Dec 1, 2020
d5fdd76
Merge branch 'main' into yfs
billiegoose Dec 1, 2020
81b8177
ditch the radix64 for base 36. simpler is gooder
billiegoose Dec 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 46 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"just-once": "1.1.0"
},
"devDependencies": {
"@stoplight/path": "^1.3.2",
"karma": "2.0.5",
"karma-browserstack-launcher": "^1.5.1",
"karma-chrome-launcher": "3.1.0",
Expand All @@ -39,7 +40,8 @@
"puppeteer": "^1.10.0",
"semantic-release": "16.0.3",
"webpack": "^4.28.2",
"webpack-cli": "^3.1.2"
"webpack-cli": "^3.1.2",
"yjs": "^13.4.2"
},
"repository": {
"type": "git",
Expand Down
Loading