Commit graph

332 commits

Author SHA1 Message Date
Zixuan Chen
e2dc6382d0 chore: bk 2022-10-26 23:31:34 +08:00
Zixuan Chen
352ddc1c11 fix: common ancestor step 1 2022-10-26 23:31:34 +08:00
Zixuan Chen
4a608cc958 fix: mermaid links fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
e7daca728b refactor: cursor should not impl copy 2022-10-26 23:31:34 +08:00
Zixuan Chen
b280c21860 refactor: add RleVecWithLen to impl HasLength 2022-10-26 23:31:34 +08:00
Zixuan Chen
22f9ba3f3c refactor: rename len method in old rlevec 2022-10-26 23:31:34 +08:00
Zixuan Chen
5220ca70f1 refactor: move rle vec impl 2022-10-26 23:31:34 +08:00
Zixuan Chen
0d89349731 refactor: use rle vec for ops 2022-10-26 23:31:34 +08:00
Zixuan Chen
1c5cd948ed feat: new rle vec 2022-10-26 23:31:34 +08:00
Zixuan Chen
79aec7544a refactor: rename HasLength functions 2022-10-26 23:31:34 +08:00
Zixuan Chen
e521229da2 refactor: move trait logic to one file 2022-10-26 23:31:34 +08:00
Zixuan Chen
7e5c9b0b0f fix: rename has global index 2022-10-26 23:31:34 +08:00
Zixuan Chen
d69eca5dc5 refactor: rename rle vec to rle vec with index 2022-10-26 23:31:34 +08:00
Zixuan Chen
bfd5e090d9 refactor: use list slice 2022-10-26 23:31:34 +08:00
Zixuan Chen
5a95a3c04d chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
0cd16d6e4b test: add 8 client fuzz text test 2022-10-26 23:31:34 +08:00
Zixuan Chen
7284301ce8 doc: add sliceable doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
55c274d5ac fix: list op merge logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
65175743f2 chore: add doc for del 2022-10-26 23:31:34 +08:00
Zixuan Chen
e883177369 chore: add more log 2022-10-26 23:31:34 +08:00
Zixuan Chen
24773ac217 fix: list_op delete merge error 2022-10-26 23:31:34 +08:00
Zixuan Chen
a662650cab chore: remove logs 2022-10-26 23:31:34 +08:00
Zixuan Chen
478491831d fix: rle iter logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
ec4e1926cb fix: delete span iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
7154b5e8fe fix: get cursors at id span bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
b0572016a0 fix: effect iter, get_cursor_at_id_span bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
9157e75ed7 fix: iter bug & lamport bug & set init len for tracker 2022-10-26 23:31:34 +08:00
Zixuan Chen
3eae708b24 fix: iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
65d6f4ffe9 fix: cursor should be invalidated 2022-10-26 23:31:34 +08:00
Zixuan Chen
9407f52a1d test: refine tests 2022-10-26 23:31:34 +08:00
Zixuan Chen
5ac137c877 fix: find yspan.origin right error 2022-10-26 23:31:34 +08:00
Zixuan Chen
cf3e3ee361 fix: vec slice bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
a9d57bfc14 fix: redefine and fix find common ancestor 2022-10-26 23:31:34 +08:00
Zixuan Chen
6dcd9d19e8 fix: change deps bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
a2fcd73b44 fix: should filter out non-active spans on delete 2022-10-26 23:31:34 +08:00
Zixuan Chen
ec07825c4f fix: slice issue 2022-10-26 23:31:34 +08:00
Zixuan Chen
037093f6bd fix: partial iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
b099b4507c fix: add 2 site tests & fix update cursor bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
0cd640340a chore: cargo style fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
36adcd0ba3 fix: avoid repeatedly apply 2022-10-26 23:31:34 +08:00
Zixuan Chen
ef129f96e7 refactor: remove op_proxy 2022-10-26 23:31:34 +08:00
Zixuan Chen
e27c94aaea test: add script to quick check all tests 2022-10-26 23:31:34 +08:00
Zixuan Chen
d7d626dd97 fix: fix yspan merge bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
69521a97ef fix: two sites sync issue 2022-10-26 23:31:34 +08:00
Zixuan Chen
788808b055 fix: basic import export test 2022-10-26 23:31:34 +08:00
Zixuan Chen
61c27ca58b fix: fix a few bugs 2022-10-26 23:31:34 +08:00
Zixuan Chen
6473d9c11e fix: dag partial iter bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
b582e005cb fix: fix memory leak 2022-10-26 23:31:34 +08:00
Zixuan Chen
cf11e1ff4b test: single client fuzz 2022-10-26 23:31:34 +08:00
Zixuan Chen
796317097d test: start integration testing 2022-10-26 23:31:34 +08:00
Zixuan Chen
5c47f2e04e feat: simple export and import 2022-10-26 23:31:34 +08:00
Zixuan Chen
e8e977ddf4 refactor: remove redundant code 2022-10-26 23:31:34 +08:00
Zixuan Chen
12e2899bdd fix: tracker state fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
4f2f07dd32 feat: get op content from store 2022-10-26 23:31:34 +08:00
Zixuan Chen
d1e1143c58 chore: impl basic framework of text applying 2022-10-26 23:31:34 +08:00
Zixuan Chen
ee8bee54ab chore: tracker apply skeleton 2022-10-26 23:31:34 +08:00
Zixuan Chen
d8bb107a56 refactor: impl dag for log store 2022-10-26 23:31:34 +08:00
Zixuan Chen
f3b36680f9 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
9cd360e511 refactor: list slice 2022-10-26 23:31:34 +08:00
Zixuan Chen
f20e135301 refactor: better loro structure 2022-10-26 23:31:34 +08:00
Zixuan Chen
1d38440e9f refactor: org loro entry code
add raw string pool
add owning_ref dep
2022-10-26 23:31:34 +08:00
Zixuan Chen
4fc987f42a fix: use better structure for log store access 2022-10-26 23:31:34 +08:00
Zixuan Chen
fd29b50e99 doc: tracker stage doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
18229bd41b refactor: rename yata to yata_impl 2022-10-26 23:31:34 +08:00
Zixuan Chen
947eb13853 chore: cleanup 2022-10-26 23:31:34 +08:00
Zixuan Chen
8f6dd65522 feat: dag partial iter 2022-10-26 23:31:34 +08:00
Zixuan Chen
780cf84610 refactor: can use multiple ids inpu in find path 2022-10-26 23:31:34 +08:00
Zixuan Chen
15c60aece0 fix: find_path 2022-10-26 23:31:34 +08:00
Zixuan Chen
06758d07a5 refactor: better version diff type 2022-10-26 23:31:34 +08:00
Zixuan Chen
0bc32bbf79 refactor: use id span struct in dag 2022-10-26 23:31:34 +08:00
Zixuan Chen
3400a4e4b7 test: refine test, dag node may be merged 2022-10-26 23:31:34 +08:00
Zixuan Chen
d47fe2df8c test: use proptest factor to switch proptest mode 2022-10-26 23:31:34 +08:00
Zixuan Chen
9d66aeb511 test: simplify proptest 2022-10-26 23:31:34 +08:00
Zixuan Chen
fe12784fc3 refactor: refine dag impl 2022-10-26 23:31:34 +08:00
Zixuan Chen
56be50c1b6 fix: pass dag prop test 2022-10-26 23:31:34 +08:00
Zixuan Chen
906aebfa8a fix: a few common ancestors bugs
still buggy
2022-10-26 23:31:34 +08:00
Zixuan Chen
e11e93fe07 fix: better dag find common ancestor 2022-10-26 23:31:34 +08:00
Zixuan Chen
aef1947bee chore: add tabled to y_span 2022-10-26 23:31:34 +08:00
Zixuan Chen
0bcf19038d chore: init apply logic 2022-10-26 23:31:34 +08:00
Zixuan Chen
d924e9fac8 refactor: add has id 2022-10-26 23:31:34 +08:00
Zixuan Chen
490927a878 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
f62d01d5e8 refactor: replace dyn dispatch with static 2022-10-26 23:31:34 +08:00
Zixuan Chen
0889fa0dfa refactor: update based on new crdt abstraction 2022-10-26 23:31:34 +08:00
Zixuan Chen
aae1b2a322 refactor: simplify cursor code 2022-10-26 23:31:34 +08:00
Zixuan Chen
76269a8ca7 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
9080e68c89 fix: get is span should consider unapplied status 2022-10-26 23:31:34 +08:00
Zixuan Chen
6da6cd2915 fix: simplify get siblings 2022-10-26 23:31:34 +08:00
Zixuan Chen
e136504f3e test: update test 2022-10-26 23:31:34 +08:00
Zixuan Chen
0509db416b fix: try to put origin right to an un deleted elem 2022-10-26 23:31:34 +08:00
Zixuan Chen
7c032b6321 fix: origin left should points to non-deleted 2022-10-26 23:31:34 +08:00
Zixuan Chen
71aca40c7b chore: fuzz 2022-10-26 23:31:34 +08:00
Zixuan Chen
81b8f2c591 fix: simplify create level when apply update 2022-10-26 23:31:34 +08:00
Zixuan Chen
506350a45a chore: bench utils 2022-10-26 23:31:34 +08:00
Zixuan Chen
f760aad046 test: add bench facilities 2022-10-26 23:31:34 +08:00
Zixuan Chen
7f728db495 fix: yata fuzzing works now 2022-10-26 23:31:34 +08:00
Zixuan Chen
d36c41b7cd fix: tree balance issue 2022-10-26 23:31:34 +08:00
Zixuan Chen
8406b182ae fix: yspan slice bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
a7ce6ddfd6 fix: adapt crdt-list change 2022-10-26 23:31:34 +08:00
Zixuan Chen
a93d9f762d fix: cursor should not use Deref
`crdt-list` expected derefed cursor to be a sliced operation, but it was not.
so I updated crdt-list to use a GetOp trait instead of Deref, where
users may slice the op if they want to.
2022-10-26 23:31:34 +08:00
Zixuan Chen
d34abeef92 fix: insert map logic bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
4213d4c488 fix: crdt-list yata integrate err 2022-10-26 23:31:34 +08:00
Zixuan Chen
90596fa3e3 fix: iter end 2022-10-26 23:31:34 +08:00
Zixuan Chen
3fb88bde6e fix: build links between leaf nodes 2022-10-26 23:31:34 +08:00
Zixuan Chen
5104e94cd0 fix: fix several iter & delete bug
most of the bugs are related to len / content_len
2022-10-26 23:31:34 +08:00
Zixuan Chen
280382c39c fix: yata id spans generate bug 2022-10-26 23:31:34 +08:00
Zixuan Chen
bc980c5b02 feat: iter update in rle tree 2022-10-26 23:31:34 +08:00
Zixuan Chen
ee5c9bb990 chore: add todo doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
374e32384e feat: update at cursor pos 2022-10-26 23:31:34 +08:00
Zixuan Chen
af63cd6a9c chore: delete init 2022-10-26 23:31:34 +08:00
Zixuan Chen
944d60bfe9 docs: update find pos doc 2022-10-26 23:31:34 +08:00
Zixuan Chen
92a2e48ef5 chore: yata init 2022-10-26 23:31:34 +08:00
Zixuan Chen
41167b4af0 refactor: simplify lifetime of cursor 2022-10-26 23:31:34 +08:00
Zixuan Chen
95b63e7f47 refactor: remove RleTreeRaw layer 2022-10-26 23:31:34 +08:00
Zixuan Chen
97c7beda54 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
f5a21799a8 chore: update crdt-list 2022-10-26 23:31:34 +08:00
Zixuan Chen
b11fe7394e fix: yata fuzzing now works 2022-10-26 23:31:34 +08:00
Zixuan Chen
5ca3a42a0b test: add fuzz and fix a few iter bugs 2022-10-26 23:31:34 +08:00
Zixuan Chen
670d194aeb feat: impl yata 2022-10-26 23:31:34 +08:00
Zixuan Chen
5f6d66368e fix: fix a few bugs 2022-10-26 23:31:34 +08:00
Zixuan Chen
1f69322bc4 chore: make id optional in yspan 2022-10-26 23:31:34 +08:00
Zixuan Chen
33992626d2 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
ec596792f6 feat: impl yata insert_at 2022-10-26 23:31:34 +08:00
Zixuan Chen
cd95e2276c feat: introduce crdt-list 2022-10-26 23:31:34 +08:00
Zixuan Chen
e9100f300d refactor: rename files 2022-10-26 23:31:34 +08:00
Zixuan Chen
36c9fd7340 feat: insert at cursor 2022-10-26 23:31:34 +08:00
Zixuan Chen
ce59a7cff9 refactor: yspan dont need text field 2022-10-26 23:31:34 +08:00
Zixuan Chen
d9b7a9f7d8 chore: tracker new 2022-10-26 23:31:34 +08:00
Zixuan Chen
9240ad12ee fix: add safety comment to rle 2022-10-26 23:31:34 +08:00
Zixuan Chen
3ec2aed1a6 refactor: less unsafe in loro-core 2022-10-26 23:31:34 +08:00
Zixuan Chen
3c27d34341 refactor: less unsafe code 2022-10-26 23:31:34 +08:00
Zixuan Chen
bd1b0a2215 feat: init content map 2022-10-26 23:31:34 +08:00
Zixuan Chen
3b271b5ede chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
31b0fa3354 fix: insert / delete 0 length content 2022-10-26 23:31:34 +08:00
Zixuan Chen
2c11846c99 fix: notify fuzzy test 2022-10-26 23:31:34 +08:00
Zixuan Chen
1df1f1d2bf fix: string fuzzy 2022-10-26 23:31:34 +08:00
Zixuan Chen
0d99ceb01c feat: return cursor in iter 2022-10-26 23:31:34 +08:00
Zixuan Chen
77eac9eb30 fix: notify 2022-10-26 23:31:34 +08:00
Zixuan Chen
8f005180a4 feat: add withstartend 2022-10-26 23:31:34 +08:00
Zixuan Chen
6209de97a3 chore: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
96f29ee0fa fix: range map 2022-10-26 23:31:34 +08:00
Zixuan Chen
a6cdf2e400 refactor: FindPosResult found field 2022-10-26 23:31:34 +08:00
Zixuan Chen
6851934ba6 refactor: rename field 2022-10-26 23:31:34 +08:00
Zixuan Chen
a9134a9844 refactor: find pos result 2022-10-26 23:31:34 +08:00
Zixuan Chen
72599b99d1 feat: notify 2022-10-26 23:31:34 +08:00
Zixuan Chen
66c50d4a9b feat: cursor mut 2022-10-26 23:31:34 +08:00
Zixuan Chen
f2db2fdcf2 refactor: add yspan status & remove text 2022-10-26 23:31:34 +08:00
Zixuan Chen
6181504664 refactor: move range map to rle 2022-10-26 23:31:34 +08:00
Zixuan Chen
02415676ea fix: styling 2022-10-26 23:31:34 +08:00
Zixuan Chen
50b283493d fix: cargo fix 2022-10-26 23:31:34 +08:00
Zixuan Chen
0ce9dbc309 feat: add index map 2022-10-26 23:31:34 +08:00