Zixuan Chen
b56d747019
feat: insert obj to list
2022-11-12 11:33:23 +08:00
Zixuan Chen
077d696952
feat: list container
2022-11-12 11:11:07 +08:00
Zixuan Chen
0c7a7af0fd
refactor: remove insert value
...
simplify code and only use loro value
2022-11-12 00:30:07 +08:00
Zixuan Chen
154ddfcfe5
feat: to json and from json
2022-11-12 00:00:54 +08:00
Zixuan Chen
919832b537
test: fix test setting err
2022-11-11 22:51:46 +08:00
Zixuan Chen
743e2b597b
chore: fix all warnings
2022-11-11 22:44:18 +08:00
Zixuan Chen
03c2cfd041
refactor: rename unknown range
2022-11-11 22:26:34 +08:00
Zixuan Chen
0d0603d75f
feat: get value deep
2022-11-11 22:26:06 +08:00
Zixuan Chen
1f2be1de18
chore: cargo fix
2022-11-11 16:20:37 +08:00
Zixuan Chen
fc41f0fa1b
refactor: move reg inside log store
2022-11-11 16:18:13 +08:00
Zixuan Chen
d818cd1ca8
refactor: use Text and Map as exposed interfaces
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 15:23:22 +08:00
Zixuan Chen
3d1fedcb93
refactor: add container wrapper
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 14:37:01 +08:00
Zixuan Chen
04e01b6415
refactor: remove redundant logics
2022-11-11 14:03:36 +08:00
Zixuan Chen
a858c10588
refactor: use container trait
2022-11-11 11:41:31 +08:00
Zixuan Chen
1f2650a5a2
refactor: rename container mng to registry
2022-11-11 11:15:06 +08:00
Zixuan Chen
44f38dd24b
chore: cargo fix
2022-11-11 11:13:35 +08:00
Zixuan Chen
c50fd45d1d
refactor: use dashmap in container manager
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-11 11:12:55 +08:00
Zixuan Chen
737c14e99a
fix: update bumpalo fix potential leaks
2022-11-10 22:34:49 +08:00
Zixuan Chen
cb26a46b9e
fix: type error
2022-11-10 15:45:27 +08:00
Zixuan Chen
8242a598af
Merge branch 'main' into feat-recursive
2022-11-10 15:34:21 +08:00
Zixuan Chen
fbe4cc7ef8
doc: remove redundant todos and logics
2022-11-10 15:10:53 +08:00
Zixuan Chen
42db1057d2
doc: update range map doc
2022-11-10 12:00:05 +08:00
Zixuan Chen
1a4f2a32df
test: refine bench
2022-11-10 09:30:52 +08:00
Zixuan Chen
a71b5a1613
refactor: reduce yspan size by removing slice
2022-11-10 03:04:37 +08:00
Zixuan Chen
2c29165ae8
perf: remove len field in yspan
2022-11-10 02:27:53 +08:00
Zixuan Chen
e3ad3e017d
perf: reduce y_span size
2022-11-10 02:17:30 +08:00
Zixuan Chen
f5b01da63a
perf: make marker smaller
2022-11-10 01:38:14 +08:00
Zixuan Chen
e298128f8d
refactor: simplify code
...
the threshold is useless because most of the nodes
will have at least MAX_CHILDREN_NUM/2 children
2022-11-10 01:37:23 +08:00
Zixuan Chen
97709c5af3
chore: remove debug code
2022-11-10 01:27:24 +08:00
Zixuan Chen
5027da1e2e
perf: binary search for global tree trait
2022-11-10 01:17:22 +08:00
Zixuan Chen
592199ab65
fix: set small range err
2022-11-09 23:57:13 +08:00
Zixuan Chen
f1861e055c
test: add yata test
2022-11-09 22:54:16 +08:00
Zixuan Chen
b4cdc817d7
doc: new range map doc
2022-11-09 22:54:07 +08:00
Zixuan Chen
498cc7f2a7
perf: better set range strategy
...
and use heap mode in cursor map
2022-11-09 21:55:53 +08:00
Zixuan Chen
7fc18625ab
test: refine B4 parallel test
2022-11-09 21:50:04 +08:00
Zixuan Chen
eb5ba1474e
test: add B4 parallel bench
2022-11-09 21:41:32 +08:00
Zixuan Chen
e85efa7d01
perf: simplify global tree cache update
2022-11-09 21:31:28 +08:00
Zixuan Chen
59d9c9ba34
fix: better capacity setting
2022-11-09 20:07:53 +08:00
Zixuan Chen
6eff5ddd3f
refactor: refine small set
2022-11-09 19:37:47 +08:00
Zixuan Chen
1653f8d109
perf: optimize insert at the range end
2022-11-09 18:42:13 +08:00
Zixuan Chen
0988b74254
chore: utils
2022-11-09 17:54:06 +08:00
Zixuan Chen
934b0fdda9
perf: speed up find path and common ancestors
2022-11-09 14:11:06 +08:00
Zixuan Chen
58fb7de26c
fix: remove changes error freeze behavior
...
and cover more cases that can be applied directly
2022-11-09 13:53:12 +08:00
Zixuan Chen
9733f24855
perf: speed up find common ancestors
2022-11-09 12:30:27 +08:00
Zixuan Chen
5c0c09e2d1
perf: apply edits directly when possible
2022-11-09 12:18:27 +08:00
Zixuan Chen
2abf23797a
test: init bench utils
2022-11-09 11:04:58 +08:00
Zixuan Chen
93af1c72c5
fix: text container heads update
2022-11-09 10:33:49 +08:00
Zixuan Chen
8616f4d3b0
chore: cargo fix
2022-11-08 23:51:31 +08:00
Zixuan Chen
3c7e939020
fix: wasm type convert err
2022-11-08 23:43:33 +08:00
Zixuan Chen
3d2ea6479a
feat: recursive map type; but perf becomes worse
...
random text edit 2 sites, run time + 30%
need to find a way to fix this
2022-11-08 23:35:32 +08:00
Zixuan Chen
738a7ff2b9
refactor: rename integer
2022-11-08 20:04:54 +08:00
Zixuan Chen
2ae4db14f6
refactor: change loro value type
2022-11-08 15:40:14 +08:00
Zixuan Chen
de84a633f9
refactor: change get value signature
2022-11-08 14:59:13 +08:00
Zixuan Chen
e7af203efa
Merge branch 'chore-clean-todos'
2022-11-08 12:41:11 +08:00
Zixuan Chen
0acb003fe1
chore: update todo doc
2022-11-08 12:41:01 +08:00
Zixuan Chen
f7821f0515
fix: use after free in heap mode when deleting
2022-11-08 11:39:58 +08:00
Zixuan Chen
e833c1d5d7
chore: remove redundant todo
2022-11-08 10:50:55 +08:00
Zixuan Chen
64c985ce73
Merge branch 'main' into refactor-bump
2022-11-08 10:19:42 +08:00
Zixuan Chen
54ed394640
chore: add basic web test code
2022-11-07 23:37:10 +08:00
Zixuan Chen
8dc788e404
refactor: remove isomophic and parallel feature
...
features should be additive in Rust
2022-11-07 23:27:40 +08:00
Zixuan Chen
b086185d86
chore: refine doc
2022-11-07 15:25:48 +08:00
Zixuan Chen
420d29e42f
chore: add doc for heapmode
2022-11-07 15:24:02 +08:00
Zixuan Chen
82ef8a42ee
refactor: rename modes to HeapMode and BumpMode
2022-11-07 15:20:49 +08:00
Zixuan Chen
a3df07bf5c
refactor: make Bump mode newtype
2022-11-07 15:19:48 +08:00
Zixuan Chen
c7d3e01087
refactor: no boxing for T in RleTree
...
and make Heap mode as the default mode, because users
should be aware of Bump mode's limitation before using it
2022-11-07 15:10:36 +08:00
Zixuan Chen
62891e25b3
fix: use heap mode in text state
...
Fix #8
2022-11-07 14:26:10 +08:00
Zixuan Chen
303b1c6787
chore: cargo fix
2022-11-07 14:21:06 +08:00
Zixuan Chen
24cd11f59e
refactor: make bump optional in rle tree
2022-11-07 14:16:53 +08:00
Zixuan Chen
1a8fb458a9
chore: use stable rust as GAT become stable
2022-11-06 23:18:15 +08:00
Zixuan Chen
dd2c2701c4
chore: more debug info
2022-11-01 23:07:30 +08:00
Zixuan Chen
b5370af5e9
test: add mem-prof feature to test memory
2022-11-01 18:34:59 +08:00
Zixuan Chen
3ea9770871
fix: merge err
2022-11-01 18:16:55 +08:00
Zixuan Chen
5a7b9c7a0b
Merge branch 'feat-wasm' into refactor-reverse-merge
2022-11-01 17:59:23 +08:00
Zixuan Chen
72e52d8925
chore: cargo fix
2022-11-01 17:53:57 +08:00
Zixuan Chen
0a832194d8
refactor: remove slice feature
...
enable by default
2022-11-01 17:51:17 +08:00
Zixuan Chen
19b9772995
Merge branch 'main' into feat-wasm
2022-11-01 17:46:16 +08:00
Zixuan Chen
df1892bd4e
refactor: merge reverse deletions
...
fix: counter span merge err
2022-11-01 17:16:11 +08:00
Zixuan Chen
0e56b861ed
refactor: rename a few types
2022-11-01 12:14:02 +08:00
Zixuan Chen
d62fa09e99
refactor: only keep counter on op
2022-11-01 00:07:24 +08:00
Zixuan Chen
6e03c9c04b
refactor: extract remote op
2022-10-31 23:50:00 +08:00
Zixuan Chen
3c03538e0e
chore: cargo style fix
2022-10-31 22:37:29 +08:00
Zixuan Chen
c56c286d76
refactor: use isomorphic structure for sync/async
2022-10-31 22:37:29 +08:00
Zixuan Chen
ee8df9dd59
chore: cargo fix
2022-10-31 22:36:54 +08:00
Zixuan Chen
27c4b1ca2b
refactor: remove change freeze field
2022-10-31 22:35:37 +08:00
Zixuan Chen
1e9d5769f3
fix: add debug info & reduce 40% mem usage
2022-10-31 21:42:19 +08:00
Zixuan Chen
9c35aa266c
fix: reduce heap alloc
2022-10-31 20:40:39 +08:00
Zixuan Chen
8cfe9f2772
perf: reduce heap alloc
2022-10-31 20:06:56 +08:00
Zixuan Chen
43c28608c6
fix: reduce heap alloc
2022-10-31 19:27:13 +08:00
Zixuan Chen
5ce83d0188
refactor: make client id type can be switching
2022-10-31 17:32:05 +08:00
Zixuan Chen
261fb329ee
test: add mem profiling
2022-10-31 17:21:06 +08:00
Zixuan Chen
22465a5e97
test: add B4 bench
2022-10-31 16:16:44 +08:00
Zixuan Chen
fa2db1be7e
doc: add container desc
2022-10-31 12:37:20 +08:00
Zixuan Chen
9d48e5df88
refactor: fix type error
2022-10-31 12:33:44 +08:00
Zixuan Chen
e0a472fd1a
feat: basic wasm interface
2022-10-31 12:22:07 +08:00
Zixuan Chen
3a0c00fdec
fix: type err
2022-10-28 18:50:37 +08:00
Zixuan Chen
87227ad39a
Merge branch 'refactor-parallel' into feat-wasm
2022-10-28 18:49:01 +08:00
Zixuan Chen
c8d5127213
chore: cargo style fix
2022-10-28 18:28:55 +08:00
Zixuan Chen
06d7d054a5
refactor: use isomorphic structure for sync/async
2022-10-28 18:22:46 +08:00
Zixuan Chen
16e3d6f3cb
chore: bk
2022-10-28 17:19:58 +08:00
Zixuan Chen
bd30f675a6
feat: replace notify set range method
2022-10-28 15:25:11 +08:00
Zixuan Chen
bf8973c758
feat: set range
...
fix: update cache
chore: remove useless tests
chore: add bench script
2022-10-28 15:25:11 +08:00
Zixuan Chen
12cc746ff2
chore: setup benchmark
2022-10-28 15:25:11 +08:00
Zixuan Chen
565ed3b01b
doc: add doc about values difference
2022-10-28 15:24:44 +08:00
Zixuan Chen
b80a70bb2d
fix: reduce unsafe code
2022-10-27 16:10:22 +08:00
Zixuan Chen
328d0517c0
chore: update crdt-list dep
2022-10-26 23:35:21 +08:00
Zixuan Chen
95e514b329
refactor: simplify delete
2022-10-26 23:31:34 +08:00
Zixuan Chen
105ab9b5ef
chore: micro optimization
2022-10-26 23:31:34 +08:00
Zixuan Chen
9770fb50f3
chore: cargo fix
2022-10-26 23:31:34 +08:00
Zixuan Chen
6a2da8a01f
fix: avoid potential memory leak
2022-10-26 23:31:34 +08:00
Zixuan Chen
dc4571f389
refactor: remove unnecessary field
2022-10-26 23:31:34 +08:00
Zixuan Chen
02ebfbc0fc
fix: remove a few unsafe blocks about create cursor
2022-10-26 23:31:34 +08:00
Zixuan Chen
2dbb27f62d
chore: use weak ref
2022-10-26 23:31:34 +08:00
Zixuan Chen
a1d1517de0
feat: reuse tracker
2022-10-26 23:31:34 +08:00
Zixuan Chen
78faec33a1
fix: dag
2022-10-26 23:31:34 +08:00
Zixuan Chen
a24cee49c5
chore: bk
2022-10-26 23:31:34 +08:00
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
Zixuan Chen
067fb82058
feat: add rle global index tree trait
2022-10-26 23:31:34 +08:00
Zixuan Chen
04a20b08e1
refactor: use cumulate tree trait
2022-10-26 23:31:34 +08:00
Zixuan Chen
59f59b1c2e
feat: add cursor support
2022-10-26 23:31:34 +08:00
Zixuan Chen
1bbd0e5c85
refactor: should be able to undo/redo ops from other clients
2022-10-26 23:31:34 +08:00
Zixuan Chen
29c4d2011e
feat: list init
2022-10-26 23:31:34 +08:00
Zixuan Chen
da8b2668e7
chore: cargo fix
2022-08-16 17:05:50 +08:00
Zixuan Chen
722893cdb2
chore: speed up example
2022-08-16 16:46:03 +08:00
Zixuan Chen
9c86dae038
chore: make bench harder
2022-08-16 16:46:03 +08:00
Zixuan Chen
7191668a65
fix: try merging parent after its children removed
2022-08-16 16:46:03 +08:00
Zixuan Chen
ec209f233e
chore: refine debug info
2022-08-16 16:46:03 +08:00
Zixuan Chen
3b091d8891
refactor: move bump pointer before Node
2022-08-16 16:46:03 +08:00
Zixuan Chen
9e66e2dc68
fix: fix a delete bug & init bench
2022-08-16 16:46:03 +08:00
Zixuan Chen
07cfc036b7
chore: add slow test config
2022-08-16 16:46:03 +08:00
Zixuan Chen
cb0701ebf0
test: add fuzzy test
2022-08-16 16:46:03 +08:00
Zixuan Chen
cdb83c0d03
refactor: simplify type
2022-08-16 16:46:03 +08:00
Zixuan Chen
9755782cf9
refactor: use ouroboros to self-ref
...
previous solution has a fatal bug when dropping
2022-08-16 16:46:03 +08:00
Zixuan Chen
c498a3e243
chore: fix warnings
2022-08-16 16:46:03 +08:00
Zixuan Chen
f7db72d99e
chore: fix warnings
2022-08-16 16:46:03 +08:00
Zixuan Chen
12e29374dc
fix: use &mut instead of BumpBox for Node
...
using BumpBox for struct that contains data on the same Bump will cause undefined behavior
2022-08-16 16:46:03 +08:00
Zixuan Chen
7bef4eee93
test: fix test impl
2022-08-16 16:46:03 +08:00
Zixuan Chen
6a8087c756
fix: check err
2022-08-16 16:46:03 +08:00
Zixuan Chen
687fd45f61
chore: string fuzzy test setup
2022-08-16 16:46:03 +08:00
Zixuan Chen
34632f61c3
refactor: refine style
2022-08-16 16:46:03 +08:00
Zixuan Chen
4009bc0079
refactor: remove redundant fix_size_vec
2022-08-16 16:46:03 +08:00
Zixuan Chen
bd95ad42e4
chore: custom debug for leaf & internal
2022-08-16 16:46:03 +08:00
Zixuan Chen
e30ba86653
fix: update leaf cache when create new elem by del
2022-08-16 16:46:03 +08:00
Zixuan Chen
c8a83fe676
fix: post delete handler
2022-08-16 16:46:03 +08:00
Zixuan Chen
6ab3565bd8
chore: cargo fix
2022-08-16 16:46:03 +08:00
Zixuan Chen
8807d43eca
fix: cache error
...
- add cache check
- add borrow from siblings test
2022-08-16 16:46:03 +08:00
Zixuan Chen
e19fb6a91b
feat: delete range
...
and fix several insertion bugs
2022-08-16 16:46:03 +08:00
Zixuan Chen
1f0f502be5
fix: fix insertion err
...
did not inc level
2022-08-16 16:46:03 +08:00
Zixuan Chen
460baf4cbf
chore: rm dbg!
2022-08-16 16:46:03 +08:00
Zixuan Chen
550bce2815
feat: delete
2022-08-16 16:46:03 +08:00
Zixuan Chen
3c96a6b224
feat: insertion
2022-08-16 16:46:03 +08:00
Zixuan Chen
028e3ba3f9
feat: rle tree insert
2022-08-16 16:46:03 +08:00
Zixuan Chen
80ea31883e
chore: use official enum-as-inner
...
#[inline] is added by default now in v0.5.1
2022-08-16 16:46:03 +08:00
Zixuan Chen
0127690b11
fix: rletree creator
2022-08-16 16:46:03 +08:00
Zixuan Chen
9ecd0417bd
feat: init
2022-08-16 16:46:03 +08:00
Zixuan Chen
7704ce2939
feat: add enum as inner fork
2022-08-05 16:44:56 +08:00
Zixuan Chen
b6a4a1ed78
Merge branch 'main' of https://github.com/loro-dev/loro
2022-08-05 01:42:27 +08:00
Zixuan Chen
d3abb895f2
docs: update doc
2022-08-05 01:34:47 +08:00
Zixuan Chen
bb3eb7b7a0
fix: refine mermaid diagram style
2022-08-05 01:34:47 +08:00
Zixuan Chen
d1e135ec30
test: mermaid
2022-08-05 01:34:47 +08:00
Zixuan Chen
77065bf57e
feat: mermaid
2022-08-05 01:34:47 +08:00
Zixuan Chen
b8287837dc
feat: dag iter
2022-08-05 01:34:47 +08:00
Zixuan Chen
8a15d2e863
fix: type err
2022-08-05 01:34:47 +08:00
Zixuan Chen
aa060a93da
feat: cmp vv
2022-08-05 01:34:47 +08:00
Zixuan Chen
b6d3f6b0b7
feat: get missing span of vv
2022-08-05 01:34:47 +08:00
Zixuan Chen
16395a4fa2
feat: get vv from dag
2022-08-05 01:34:47 +08:00
Zixuan Chen
ed145367e0
feat: dag find path
2022-08-05 01:34:47 +08:00
Zixuan Chen
2d2ca76201
perf: use visited
2022-08-05 01:34:47 +08:00
Zixuan Chen
c6f268edda
chore: optimize build time
2022-08-05 01:34:47 +08:00
Zixuan Chen
fec3c272f8
fix: first met dep may have smaller counter
2022-08-05 01:34:47 +08:00
Zixuan Chen
8db47780b9
fix: dag issues
2022-08-05 01:34:47 +08:00
Zixuan Chen
1ca2b4226e
feat: dag init
2022-08-05 01:34:47 +08:00
Zixuan Chen
0d13c9562c
refactor: undo redo use counter span
...
undo & redo should be a local only operation
2022-08-05 01:34:47 +08:00
Zixuan Chen
5a371c9c80
refactor: undo redo use counter span
...
undo & redo should be a local only operation
2022-07-25 15:32:10 +08:00
Zixuan Chen
b616f39273
refactor: extract container to op
2022-07-25 13:43:50 +08:00
Zixuan Chen
590a6e8ee6
refactor: reset snapshot
2022-07-25 13:00:22 +08:00
Zixuan Chen
50c7a827c9
chore: cargo fix
2022-07-21 00:40:37 +08:00
Zixuan Chen
42cc347be4
chore: setup justfile
2022-07-21 00:39:19 +08:00
Zixuan Chen
9021967945
test: set up proptest
2022-07-21 00:19:35 +08:00
Zixuan Chen
1d4318e60e
chore: project dpes update
2022-07-20 16:29:36 +08:00
Zixuan Chen
10bac8c293
feat: pin
2022-07-19 11:54:14 +08:00
Zixuan Chen
6c61c6baf2
feat: op iter
2022-07-19 00:20:59 +08:00
Zixuan Chen
a44a3cd72b
feat: map basic
2022-07-18 17:58:24 +08:00
Zixuan Chen
19c12153f6
feat: conenct container and store
2022-07-18 14:58:33 +08:00
Zixuan Chen
8c0f033950
feat: apply change
2022-07-18 13:53:16 +08:00
Zixuan Chen
aa9590b540
feat: map container
2022-07-18 01:00:50 +08:00
Zixuan Chen
7f4755404e
chore: reduce unsafe code
2022-07-17 16:41:07 +08:00
Zixuan Chen
382f8f3151
refactor: use ContainerID
2022-07-17 16:33:38 +08:00
Zixuan Chen
cd0572c5a9
refactor: organize code structure
2022-07-15 21:51:19 +08:00
Zixuan Chen
268f3c1e96
refactor: add container type & twist many things
2022-07-15 20:34:23 +08:00
Zixuan Chen
ad7a1c54ce
refactor: better insert content trait
2022-07-15 20:32:35 +08:00
Zixuan Chen
81ccf8fc4a
chore: add gc config
2022-07-15 19:12:59 +08:00
Zixuan Chen
fb27c1656b
feat: setup framework
2022-07-15 18:24:15 +08:00
Zixuan Chen
1444029e5e
refactor: make merge trait configurable
2022-07-15 16:01:35 +08:00
Zixuan Chen
3eb415718c
feat: add deps to change
2022-07-15 15:45:47 +08:00
Zixuan Chen
bf77abced6
refactor: rename store to log store
2022-07-13 21:36:52 +08:00
Zixuan Chen
efd806b8e4
feat: dynamic insert content
2022-07-13 17:52:25 +08:00
Zixuan Chen
aae5cf26ce
feat: change & op
2022-07-13 14:39:22 +08:00
Zixuan Chen
2c7e2de763
feat: rle
2022-07-13 00:47:41 +08:00