Zixuan Chen
05f19de9de
fix: try to avoid recursive lock in notification
2022-12-09 10:46:55 +08:00
Zixuan Chen
a24e284fba
fix: hierarchy notify
2022-12-09 10:46:55 +08:00
Zixuan Chen
db29178982
fix: make subscription work
2022-12-09 10:46:55 +08:00
Zixuan Chen
9a3194edef
chore(wasm): change the build methods
2022-12-09 10:46:55 +08:00
Zixuan Chen
572fe857a0
feat(wasm): root subscribe & unsubscribe
2022-12-09 10:46:55 +08:00
Zixuan Chen
b98c22570d
fix: get container by id err
2022-12-09 10:46:55 +08:00
Zixuan Chen
2db272e857
chore(wasm): wasm build cfg
2022-12-09 10:46:47 +08:00
Zixuan Chen
0cd38270f9
bench(wasm): wasm bench
...
bench(wasm): add snapshot bench
2022-12-09 10:46:36 +08:00
Zixuan Chen
b1738e34a9
fix: to json result
2022-12-09 10:46:30 +08:00
Zixuan Chen
91e7b3ac87
feat: wasm encode decode basic
2022-12-09 10:46:30 +08:00
Zixuan Chen
f14905d562
feat: init encoding and build pipeline for wasm
2022-12-09 10:46:30 +08:00
Zixuan Chen
5040a6f511
refactor: change fn signature
2022-12-09 10:46:30 +08:00
Zixuan Chen
1933fe6a56
fix: refine rangemap interface
2022-12-07 11:03:10 +08:00
Zixuan Chen
594b60dafb
Perf store cache in parent node ( #36 )
...
* refactor: make internal and leaf use same type of cache
* refactor: add cache update
* test : add normalization to arb test
* test: fuzz
* fix: internal insert bug
* fix: missing utf16
* test: fix test sub overflow
* feat: use heapless for binary heap
* refactor: refine warning
* test: reduce test time
* perf: reduce computation when finding pos
* bench: fix ignore parse time in benching
* feat: make it compile in new sig (should be merged)
* fix: type err
* fix: fix type err
* fix: cache when merge & borrow
* refactor: simplify code
* fix: cumulated tree trait bug
* fix: a few fatal bugs (still buggy)
* fix: global tree trait
* refactor: rm an unused fn
* fix: insert at cursor bug
* fix: in cursor insert cache may be invalid
strip the checker there
* chore: remove needless check
* refactor: add inline to methods
* test: remove cfg=mem for mem example
* fix: type err
2022-12-06 16:34:46 +08:00
Zixuan Chen
2604c4a3fb
refactor: make internal and leaf use same type of cache
2022-12-06 16:21:48 +08:00
Zixuan Chen
09b3f5722b
test: add automerge x100 dataset
2022-12-06 16:21:48 +08:00
Zixuan Chen
39f514022e
fix: make text container send&sync
2022-12-06 16:21:48 +08:00
Zixuan Chen
0b9b54f82d
perf: speed up insert & del
2022-12-06 16:21:48 +08:00
Zixuan Chen
6312ab9eb6
refactor: use arc for raw_str
2022-12-06 16:21:48 +08:00
Zixuan Chen
c5d8100542
chore: cargo fix
2022-12-06 16:21:48 +08:00
Zixuan Chen
dce9f03821
feat: integrate to text container
2022-12-06 16:21:48 +08:00
Zixuan Chen
c25500df04
feat: introduce rope
2022-12-06 16:21:48 +08:00
Zixuan Chen
f757b86f5c
Fix: unsound (violate borrow stack rules) bugs detected by Miri ( #32 )
...
* fix: borrow stack bugs exposed by miri
* fix: use context to track notify when integrating
* fix: miri bugs
* fix: borrow stack bugs
* fix: set range miri err
2022-12-06 16:05:58 +08:00
Zixuan Chen
610a651b5c
fix: vec slice is ill defined
2022-12-06 15:50:35 +08:00
Zixuan Chen
134866bf3d
chore: rm unused fn
2022-12-06 15:40:56 +08:00
Zixuan Chen
65465774ef
fix: cap
2022-12-06 15:40:07 +08:00
Zixuan Chen
1829a9ebca
bench: fix ignore parse time in benching
2022-12-06 15:37:57 +08:00
Zixuan Chen
d718ed386f
feat: add tracing spans
2022-12-06 15:37:57 +08:00
Zixuan Chen
e3b420e41c
chore: add tracing dep
2022-12-06 15:37:57 +08:00
Zixuan Chen
89ae18e87c
test: add size test for update encoding
2022-11-30 23:55:58 +08:00
Zixuan Chen
7adc399605
test: add recursive test for update encoding
2022-11-30 23:55:58 +08:00
Zixuan Chen
45c1a2e791
fix: decode deps
2022-11-30 23:55:58 +08:00
Zixuan Chen
94b9e95fc1
chore: cargo fix
2022-11-30 23:55:58 +08:00
Zixuan Chen
d3a0d10b12
feat: encode updates
2022-11-30 23:55:58 +08:00
Zixuan Chen
1794f31ab2
bench: add observed batch
2022-11-28 21:28:15 +08:00
Zixuan Chen
ad26a1b3a3
chore: remove todo
2022-11-28 21:05:37 +08:00
leeeon233
3faaf25991
fix: to_json resolve deep
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-28 20:52:26 +08:00
Zixuan Chen
87942f2392
test: a case where skip del container failed
2022-11-28 20:38:52 +08:00
Zixuan Chen
8f6059df5a
fix: map apply order
2022-11-28 20:06:46 +08:00
Zixuan Chen
882def3fc3
fix: list iter and slice err
2022-11-28 18:48:53 +08:00
Zixuan Chen
d2123a2099
fix: return none for deleted container when finding path
2022-11-28 18:14:05 +08:00
Zixuan Chen
fcffc2924f
fix: still apply op from deleted container
...
behaviors should be consistent
2022-11-28 18:05:15 +08:00
Zixuan Chen
a7f21e3f44
fix: no panic when integrate an deleted container
2022-11-28 17:54:22 +08:00
Zixuan Chen
872220851d
fix: should keep deleted container id in hierarchy
2022-11-28 17:43:22 +08:00
Zixuan Chen
361003f1f2
chore: remove debug log
2022-11-28 17:26:26 +08:00
Zixuan Chen
16dd4c7182
fix: apply effects order
2022-11-28 17:24:14 +08:00
Zixuan Chen
c611728d88
fix: should notify err
2022-11-25 02:48:43 +08:00
Zixuan Chen
fb8a0e2e7b
fix: batch notify should be sorted by path length
2022-11-25 02:35:12 +08:00
Zixuan Chen
63bb791aba
fix: import context diff should keep causal order
2022-11-25 01:39:51 +08:00
Zixuan Chen
06d53dd8a2
fix: add root tracking test & and fix several related bugs
2022-11-25 00:47:49 +08:00
Zixuan Chen
aaf4e6822b
feat: root subscriber & apply event to value
2022-11-24 23:28:36 +08:00
Zixuan Chen
3bb2d3490d
fix: encoding merge err
2022-11-24 22:02:10 +08:00
leeeon233
2e1d5080a5
fix: use LoroValue as json content
2022-11-24 22:00:52 +08:00
leeeon233
11292e3337
fix: to_json resolve deep
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-24 22:00:52 +08:00
leeeon233
be0270140b
feat: add decode state and loro to_json
2022-11-24 22:00:52 +08:00
Zixuan Chen
0c3c96c7fd
ci: make test running concurrently
2022-11-24 22:00:11 +08:00
Zixuan Chen
8b7e787500
chore: refine impl
2022-11-24 21:10:00 +08:00
Zixuan Chen
c3188583fb
test: add observer result check to fuzzer
2022-11-24 18:15:42 +08:00
Zixuan Chen
90e0dd0a28
chore: test cfg
2022-11-24 17:47:08 +08:00
Zixuan Chen
bcc2c57556
fix: fix several bugs
2022-11-24 17:46:34 +08:00
Zixuan Chen
76f995f48f
fix: get path dead loop
2022-11-24 17:04:03 +08:00
Zixuan Chen
e2d766d490
test: add fuzzing tests for observer
2022-11-24 16:52:37 +08:00
Zixuan Chen
c574e7ea5b
feat: add notify to map and list
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-24 16:21:12 +08:00
leeeon233
4ed1eaee32
feat: add list notify
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-24 15:34:23 +08:00
Zixuan Chen
e153f113b8
feat: subscribe unsubscribe
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-24 15:10:21 +08:00
Zixuan Chen
59bdaae250
refactor: use import context & basic notify
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2022-11-24 12:15:25 +08:00
Zixuan Chen
c798662dd1
fix: list assert err
2022-11-24 01:13:36 +08:00
Zixuan Chen
9bdb6b9fd4
feat: record hierarchical info
2022-11-24 01:01:40 +08:00
Zixuan Chen
aeb935455e
chore: doc bk
2022-11-23 22:03:33 +08:00
Zixuan Chen
870b39ec37
fix: path reverse
2022-11-23 20:41:13 +08:00
Zixuan Chen
e3efcb75e5
refactor: make container idx a new type
...
move hierarchy back to log store. because we need to have
mut ref to both Hierarchy and Registry
2022-11-23 20:38:57 +08:00
Zixuan Chen
7f25c4aa8a
refactor: move hierarchy to registry
2022-11-23 20:13:19 +08:00
Zixuan Chen
1ba7dfb44a
Merge branch 'main' into feat-observe
2022-11-23 20:03:58 +08:00
Zixuan Chen
c04989d046
ci: speedup wasm-pack install
2022-11-23 19:59:57 +08:00
Zixuan Chen
109af2964d
Merge branch 'main' into feat-observe
2022-11-23 19:54:32 +08:00
leeeon233
ca96b294d4
chore: wasm pack ci
2022-11-23 19:49:39 +08:00
leeeon233
2591ed3cc4
chore: typo
2022-11-23 19:49:39 +08:00
leeeon233
fcfc8fd6b9
refactor: prelim trait
2022-11-23 19:49:39 +08:00
leeeon233
cc129ee753
feat: expose ContainerID
2022-11-23 19:49:39 +08:00
leeeon233
4194c79fe7
fix: prelim compatible with pool
2022-11-23 19:49:39 +08:00
leeeon233
bc8235ff47
feat: add prelim
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-23 19:49:39 +08:00
leeeon233
e124bbbec1
fix: wasm interface
2022-11-23 19:49:39 +08:00
leeeon233
71fd00418e
test: add wasm test
2022-11-23 19:49:39 +08:00
leeeon233
973486067a
fix: wasm add client id check
2022-11-23 19:49:39 +08:00
leeeon233
df3a708e48
feat: add context check
2022-11-23 19:49:39 +08:00
leeeon233
42ded24721
chore: add panic hook
2022-11-23 19:49:39 +08:00
leeeon233
47266773ba
feat: add recursive wasm
2022-11-23 19:49:39 +08:00
Zixuan Chen
5da1a6a8fe
refactor: init hierarchy
2022-11-23 18:12:23 +08:00
Zixuan Chen
1ae9bf2a48
feat: init delta
2022-11-23 16:26:38 +08:00
Zixuan Chen
6a98664bea
refactor: remove illegal state
2022-11-21 21:01:59 +08:00
Zixuan Chen
6d095a6cbb
chore: remove log
2022-11-21 20:40:06 +08:00
Zixuan Chen
889f564779
fix: encoding
2022-11-21 20:37:41 +08:00
Zixuan Chen
c1123ab2c1
chore: cargo fix
2022-11-21 20:31:06 +08:00
Zixuan Chen
780f756450
fix: remove unknown type on content
2022-11-21 20:30:20 +08:00
Zixuan Chen
09b77fc969
refactor: use inner content (buggy)
2022-11-21 19:52:09 +08:00
Zixuan Chen
7295e1c613
refactor: add inner content
2022-11-21 18:25:13 +08:00
Zixuan Chen
8dba7d1e3a
refactor: rename content type
2022-11-21 18:12:12 +08:00
Zixuan Chen
65b513d75f
refactor: add import export to map
2022-11-21 16:02:29 +08:00
Zixuan Chen
7a6e50931d
chore: replace justfile with deno task
2022-11-21 12:50:15 +08:00
Zixuan Chen
8f7a5a08e0
refactor: fix warning and remove dead codes
2022-11-18 21:16:29 +08:00
Zixuan Chen
0c631697f7
docs: add doc about importing method
2022-11-18 17:30:27 +08:00
Zixuan Chen
c4064aad34
refactor: extract some common method to tracker
2022-11-18 16:57:37 +08:00
Zixuan Chen
78d6f99929
refactor: remove heads on lists
2022-11-18 16:40:20 +08:00
Zixuan Chen
2ecb156f30
fix: feature err
2022-11-18 16:40:11 +08:00
Zixuan Chen
e5c022b204
refactor: remove unused logics
2022-11-18 16:31:00 +08:00
Zixuan Chen
ce1bc62b03
refactor: add len method to all container
2022-11-18 16:19:35 +08:00
Zixuan Chen
5686a37f09
chore: cargo fix
2022-11-18 16:16:09 +08:00
Zixuan Chen
af26c9d782
refactor: extract import, improve readability
2022-11-18 01:08:39 +08:00
Zixuan Chen
c9e3a67963
test: fix range map tests
2022-11-18 00:32:18 +08:00
Zixuan Chen
521615b1a0
perf: replace returned vec with iterator
2022-11-18 00:32:18 +08:00
Zixuan Chen
402b174842
perf: avoid heap alloc
2022-11-18 00:32:18 +08:00
Zixuan Chen
878f6cf939
chore: refine map max children config
2022-11-18 00:32:18 +08:00
Zixuan Chen
f6adb76436
perf: remove needless change copy when importing
2022-11-18 00:32:18 +08:00
Zixuan Chen
ff9877db42
fix: remove needless notify
2022-11-18 00:32:05 +08:00
leeeon233
1a2486283b
chore: rename columnar
2022-11-18 00:32:05 +08:00
leeeon233
090b6852b7
chore: columnar dependency use git path
2022-11-18 00:31:53 +08:00
leeeon233
c4995e7ba2
chore: add encode bench
2022-11-18 00:31:26 +08:00
leeeon233
c9f63b6594
feat: add compress
2022-11-18 00:31:11 +08:00
Zixuan Chen
8e8af7d4c6
chore: remove log
2022-11-18 00:07:06 +08:00
Zixuan Chen
b6c0c09c3d
perf: cache tracker checkout
2022-11-18 00:04:50 +08:00
Zixuan Chen
3b42c06a01
fix: op iter bug
2022-11-17 23:44:57 +08:00
Zixuan Chen
e7b1148c8a
fix: make directly apply faster
2022-11-17 23:17:36 +08:00
Zixuan Chen
f5ae229ca3
fix: make recursive case work
...
During applying new changes, retreat and forward should use
all the containers rather than just the container affected by current
applied changes.
2022-11-17 22:37:04 +08:00
Zixuan Chen
0c4afed968
refactor: use rich op when applying changes
2022-11-17 19:46:21 +08:00
Zixuan Chen
a2890f68ec
chore: remove log
2022-11-17 19:03:06 +08:00
Zixuan Chen
8bb427a969
fix: empty input
2022-11-17 18:54:15 +08:00
Zixuan Chen
26a68dc64a
fix: make it work for text container simple cases
2022-11-17 18:52:18 +08:00
Zixuan Chen
b89ac938db
refactor: initialize new import pipeline
2022-11-17 17:11:55 +08:00
Zixuan Chen
a873078df0
refactor: remove OpContent type
2022-11-17 11:11:30 +08:00
Zixuan Chen
f89550d542
refactor: fix warnings
2022-11-17 10:48:46 +08:00
Zixuan Chen
4250095a98
refactor: add register container method
2022-11-17 10:31:56 +08:00
Zixuan Chen
215ddb3d01
refactor: rename dag partial iter to causal iter
2022-11-17 10:26:52 +08:00
Zixuan Chen
2a391b8797
test: add list containers bench
2022-11-17 10:22:28 +08:00
leeeon233
f468e3b57b
fix: encode when only create container but no op
2022-11-16 17:01:03 +08:00
Zixuan Chen
33edd89e6e
chore: rm needless type annotation
2022-11-16 11:07:21 +08:00
Zixuan Chen
0fff16faf3
test: add gzip size test
2022-11-15 17:41:55 +08:00
Zixuan Chen
5dd13f64ed
perf: should use columnar strategy
2022-11-15 17:31:52 +08:00
Zixuan Chen
7ccb8eaeb2
perf: make deps encoding more compact
2022-11-15 17:22:46 +08:00
Zixuan Chen
fbb2403f8f
fix: update crate path
2022-11-15 17:07:05 +08:00
Zixuan Chen
a91b43ab25
fix: encoding error
2022-11-15 17:01:45 +08:00
Zixuan Chen
6c1fef7c95
fix: make export less strict
2022-11-15 16:26:15 +08:00
Zixuan Chen
89a2659dfb
fix: decode unknown
2022-11-15 16:15:15 +08:00
Zixuan Chen
afe084f4fe
Merge remote-tracking branch 'origin/feat-encode-decode' into feat-gc-fast
2022-11-15 16:13:12 +08:00
Zixuan Chen
811d585fed
feat: add gc feature gate
2022-11-15 16:02:42 +08:00
Zixuan Chen
ebe907dc8d
test: update fuzzing type
2022-11-15 15:54:29 +08:00
Zixuan Chen
284f1e0862
fix: it's possible to enter the no sibling state
2022-11-15 15:53:03 +08:00
leeeon233
5ec8752d3d
fix: make LoroValue serialize & deserialize compatible with json and binary
2022-11-15 15:50:41 +08:00
leeeon233
580f2e54be
feat: impl loro decode
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-15 15:50:41 +08:00
Zixuan Chen
c57d4b0e52
perf: reduce copies when encoding
2022-11-15 15:50:33 +08:00
Zixuan Chen
114e12944d
fix: should use slicerange in text container
2022-11-15 14:37:18 +08:00
Zixuan Chen
985a8f6920
fix: export iter bug
2022-11-15 13:59:10 +08:00
Zixuan Chen
3d07e7e7e5
fix: bugs related to unknown type
2022-11-15 13:41:00 +08:00
Zixuan Chen
bced2f29c8
chore: doc
2022-11-15 11:46:51 +08:00
Zixuan Chen
794e001ce9
feat: fast gc
2022-11-15 10:46:29 +08:00
Zixuan Chen
98c9360a85
fix: op content merge
2022-11-15 00:30:31 +08:00
Zixuan Chen
209e9b98a0
chore: noop
2022-11-14 23:59:47 +08:00
Zixuan Chen
ed5fc3a491
refactor: make remote content a list
2022-11-14 23:21:07 +08:00
Zixuan Chen
60a4b13bba
chore: remove unused
2022-11-14 22:34:14 +08:00
Zixuan Chen
b97b6b1d31
perf: reduce copies when encoding
2022-11-14 20:34:16 +08:00
Zixuan Chen
452640910e
chore: update frontier fn
2022-11-14 20:07:08 +08:00
Zixuan Chen
e583c03e1d
chore: reduce encode overhead
2022-11-14 19:31:56 +08:00
leeeon233
5969f92b87
feat: add encode
...
Co-authored-by: Zixuan Chen <me@zxch3n.com>
2022-11-14 18:42:16 +08:00
Zixuan Chen
96c2fd0ba6
refactor: rm breakpoints in change
2022-11-14 15:19:07 +08:00
Zixuan Chen
1ca3f0e774
refactor: rename feature fuzzing to test_utils
2022-11-14 10:49:42 +08:00
Zixuan Chen
9758303c28
Merge pull request #15 from loro-dev/feat-recursive
...
feat: recursive type
2022-11-14 10:31:10 +08:00
Zixuan Chen
c7ba9203df
chore: fix command err
2022-11-13 21:25:10 +08:00
Zixuan Chen
fa63687698
refactor: remove proptest feature
2022-11-13 21:22:49 +08:00
Zixuan Chen
81433a1a8f
refactor: replace mem feature with cfg
2022-11-13 21:12:35 +08:00
Zixuan Chen
60607a62f0
perf: fix B4 perf slow down
2022-11-13 20:43:58 +08:00
Zixuan Chen
1c7ccf2b53
fix: resolve deep value
2022-11-13 17:57:13 +08:00
Zixuan Chen
534302e696
test: speed up tests
2022-11-13 17:35:13 +08:00
Zixuan Chen
94afd65c4d
refactor: rename var
2022-11-13 17:32:36 +08:00
Zixuan Chen
18235db95f
fix: all vv and head vv error
2022-11-13 16:38:12 +08:00
Zixuan Chen
36d141edee
test: speed up recursive fuzzing test
2022-11-13 16:14:28 +08:00
Zixuan Chen
8dbdf04228
fix: all_vv update
2022-11-13 15:28:39 +08:00
Zixuan Chen
e385c09e11
fix: seq container vv error
2022-11-13 15:16:18 +08:00
Zixuan Chen
f33a93c95c
test: a failed test
2022-11-13 13:23:01 +08:00
Zixuan Chen
a6a599c6c3
test: refine recursive test
2022-11-13 12:26:28 +08:00
Zixuan Chen
eb00019392
test: fix fuzzing tests err
2022-11-13 11:37:36 +08:00
Zixuan Chen
9301ed6975
chore: update test utils
2022-11-13 00:10:50 +08:00
Zixuan Chen
139d71e64a
fix: remove over conservative check
2022-11-13 00:10:25 +08:00
Zixuan Chen
46252a4b4a
fix: get first cursor at id span err
2022-11-13 00:09:21 +08:00
Zixuan Chen
beeda6ccf6
fix: allow holes exist in tracker vv
2022-11-12 22:54:50 +08:00
Zixuan Chen
9b717f901b
chore: speed up test
2022-11-12 21:46:25 +08:00
Zixuan Chen
b4773b6dc4
test: speed up old fuzz test
2022-11-12 21:39:40 +08:00
Zixuan Chen
886c1cdd4a
fix: fix several issues detected by fuzzer
2022-11-12 21:30:00 +08:00
Zixuan Chen
4da32c7d0e
test: fuzzing test init
2022-11-12 17:51:34 +08:00
Zixuan Chen
37b35cf42f
test: sync all
2022-11-12 16:33:57 +08:00
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