Commit graph

926 commits

Author SHA1 Message Date
Zixuan Chen
a8b7d65f8a feat: import without state 2023-08-05 23:29:11 +08:00
Zixuan Chen
1b300fdc65 chore: clear logs 2023-08-05 19:51:08 +08:00
Zixuan Chen
3551bc4e99 fix: changes traveler bug
should iter every change between two version, even when
a and b are parallel to each other
2023-08-05 19:47:15 +08:00
Zixuan Chen
7ab8ccff64 refactor: return handler when inserting container 2023-08-05 16:25:31 +08:00
Zixuan Chen
f9764a2d4c
Fix DiffCalculator error when going back in history(#106) 2023-08-05 16:11:41 +08:00
Zixuan Chen
ccee201641 refactor: better interface 2023-08-05 12:44:31 +08:00
Zixuan Chen
a661b776c4
Allow commit with custom timestamp (#105) 2023-08-05 12:43:29 +08:00
Zixuan Chen
b22bd98f6b
feat: make getting child container handler simple (#104) 2023-08-05 10:23:14 +08:00
Zixuan Chen
72cc8c6ed5
fix: map version checkout err (#101) 2023-08-04 22:41:02 +08:00
Zixuan Chen
640828bf26 fix: should be readonly when doc is in detached mode 2023-08-04 14:45:22 +08:00
Zixuan Chen
db4eb64d42 refactor: oplog_frontiers & state_frontiers 2023-08-04 14:37:42 +08:00
Zixuan Chen
5ee860b74e chore: use serde 1 2023-08-04 11:09:32 +08:00
Zixuan Chen
08beb9f60b chore: rm serde requirement in append-only-bytes 2023-08-04 11:03:57 +08:00
Zixuan Chen
c105ff2220
Feat: checkout to target version & use unicode index by default (#98)
* feat: checkout to frontiers

* feat: record timestamp

* fix: use unicode len by default for text
now "你好" has length of 2 instead of 6

* chore: rm dbg!
2023-08-04 10:45:23 +08:00
Zixuan Chen
1e736df133
Refactor: rm legacy code (#97)
* refactor: rm legacy code

* chore: rm dead code

* refactor: mv refactored files outside

* refactor: rename files & methods

* chore: rm unused deps

* fix: compact bytes err

* chore: fix ci
2023-07-31 11:49:55 +08:00
Zixuan Chen
86057adb05 fix: make events JsValue
this can avoid memory leak when FinalizationRegistry is unavailable
2023-07-30 20:33:46 +08:00
Zixuan Chen
83ee956c8b chore: mark todo 2023-07-30 19:08:32 +08:00
Zixuan Chen
41556dcb78 refactor: rm needless refcell 2023-07-30 19:06:22 +08:00
Zixuan Chen
6860132ada refactor: call events subs without await now 2023-07-30 17:08:49 +08:00
Zixuan Chen
88003bdffe fix: get deep value & throw mismatched context err 2023-07-30 16:30:41 +08:00
Zixuan Chen
c461edd828 refactor: remove utf16 meta in text event
we will use utf16 index by default when feature=wasm
2023-07-29 22:24:09 +08:00
Zixuan Chen
15be521777 feat: event & wasm 2023-07-29 02:03:51 +08:00
Zixuan Chen
f63c346e5c refactor: make text fn explicit in index type 2023-07-28 13:40:08 +08:00
Zixuan Chen
f8d58ec379 refactor: use utf16 index in wasm mode 2023-07-28 13:38:52 +08:00
Zixuan Chen
fbebb5b8e8 feat: recursive emit events 2023-07-26 19:53:55 +08:00
Zixuan Chen
470d23a198 feat: subscribe for container events 2023-07-26 18:56:03 +08:00
Zixuan Chen
1ed8ad05be perf: reduce shared arena size
make it more compact and cache-friendly
2023-07-25 23:06:21 +08:00
Zixuan Chen
ef2de6f368 chore: fix a few warnings 2023-07-25 23:00:42 +08:00
Zixuan Chen
fa13d1d06f fix: list state err
update g-btree to use a get node with Option
return value
2023-07-23 00:11:46 +08:00
Zixuan Chen
b94274d8b9 fix: dead lock on list 2023-07-22 19:27:21 +08:00
Zixuan Chen
aa151a48f5 fix: typo on op -> diff 2023-07-22 19:19:11 +08:00
Zixuan Chen
b5c325b490 feat: event (buggy) 2023-07-22 19:02:22 +08:00
Zixuan Chen
874533e51a feat: add origin to doc state diff 2023-07-19 21:46:30 +08:00
Zixuan Chen
6abeba6849 refactor: rename *App to *Doc 2023-07-19 21:21:37 +08:00
Zixuan Chen
7f3bd5b0a4 feat: record diff in app state 2023-07-19 21:16:52 +08:00
Zixuan Chen
5ea68ac528 perf(encode): reduce snapshot size
it's experimental. need fuzzing
2023-07-19 12:31:49 +08:00
Zixuan Chen
9899a94f43 perf: opt encode/decode speed 2023-07-18 18:24:51 +08:00
Zixuan Chen
ac9a7e0631 perf: reduce snapshot size 2023-07-18 16:25:29 +08:00
Zixuan Chen
5beabc940b perf: reduce encoding size 2023-07-18 14:39:17 +08:00
Zixuan Chen
9d03fd787f chore: fix warnings 2023-07-18 10:10:52 +08:00
Zixuan Chen
3d3c54eb92 fix: get lamport by frontiers bug 2023-07-18 01:30:56 +08:00
Zixuan Chen
5a233501cc perf: speed up import by reducing dag nodes 2023-07-18 01:23:49 +08:00
Zixuan Chen
d03617ca26 feat: add bench 2023-07-17 23:18:18 +08:00
Zixuan Chen
20cf17e00b bench: refactored text 2023-07-17 21:24:02 +08:00
Zixuan Chen
5f5db10a6d fix: cache update in list diff calc 2023-07-17 21:02:26 +08:00
Zixuan Chen
0fac770309 fix: a few recursive bugs 2023-07-17 20:30:46 +08:00
Zixuan Chen
16ec59ddee fix: fix a few recursive_refactored bug 2023-07-17 19:09:18 +08:00
Zixuan Chen
f527de5a2f fix: fix lamport infer in change encode
lamport starts from 0 in the new version
2023-07-17 18:27:10 +08:00
Zixuan Chen
93252c9522 test: recursive fuzz test for refactored 2023-07-17 17:28:07 +08:00
Zixuan Chen
a3488c7088 feat: handlers 2023-07-17 16:04:02 +08:00
Zixuan Chen
ca977fcf39 test: text refactor fuzz 2023-07-17 15:00:40 +08:00
Zixuan Chen
e993f1b155 feat: basic snapshot encoding 2023-07-17 12:27:11 +08:00
Zixuan Chen
6983a2b00c refactor: mov loro value to loro_common 2023-07-15 00:47:47 +08:00
Zixuan Chen
fc49b4b3b4 refactor: mov important basic types into loro-common 2023-07-14 16:38:53 +08:00
Zixuan Chen
dde0152912 refactor: prepare for snapshot encoding 2023-07-14 16:05:06 +08:00
Zixuan Chen
d26bb4e5c9 refactor: refine compact bytes interface 2023-07-14 12:51:06 +08:00
Zixuan Chen
3771566b9f refactor: integrate container type into container idx 2023-07-14 12:50:48 +08:00
Zixuan Chen
e8ca8d61ed feat(minor): add a min match size 2023-07-14 11:09:07 +08:00
Zixuan Chen
d8b51f6acf perf: skip when matched len < 4 2023-07-14 03:03:51 +08:00
Zixuan Chen
3288bddfb8 Revert "perf: make mem more compact"
This reverts commit 44646e6bf1.
2023-07-14 02:57:53 +08:00
Zixuan Chen
44646e6bf1 perf: make mem more compact 2023-07-14 02:16:01 +08:00
Zixuan Chen
92434ccdfc feat: make capacity adjustable 2023-07-14 00:47:02 +08:00
Zixuan Chen
f6ebf6783d perf: make it 4x faster with fixed mem usage 2023-07-14 00:29:30 +08:00
Zixuan Chen
6311782943 perf: optimize compress & speed
but no cap for now
2023-07-13 22:43:02 +08:00
Zixuan Chen
6dc8e15afa test: add fuzz to compact bytes 2023-07-13 19:29:00 +08:00
Zixuan Chen
f10771ecba docs: update todo for compact-bytes 2023-07-13 17:01:19 +08:00
Zixuan Chen
346117ff54 feat: supports setting capacity 2023-07-13 16:57:41 +08:00
Zixuan Chen
f604a89fc3 refactor(bytes): refine interface 2023-07-13 15:33:49 +08:00
Zixuan Chen
8704d22750 feat: compact bytes init 2023-07-13 13:33:23 +08:00
Zixuan Chen
7cb6691cef test: update snapshot test 2023-07-12 21:35:06 +08:00
Zixuan Chen
d3f921bae0 refactor: replace latest_lamport with next_lamport 2023-07-12 21:34:56 +08:00
Zixuan Chen
097d86915a refactor: rm next lamport from app state diff 2023-07-12 21:29:21 +08:00
Zixuan Chen
6d2d28a721 refactor: reduce version conversion a little bit 2023-07-12 21:26:03 +08:00
Zixuan Chen
2a0f842fc5 fix: lamport issue 2023-07-12 18:47:04 +08:00
Zixuan Chen
3638e3d0ed fix: fix a encode/decode issue
exposed by fuzzing test
2023-07-12 18:17:57 +08:00
Zixuan Chen
2d47387882 refactor: txn should consume self after finished 2023-07-12 14:46:48 +08:00
Zixuan Chen
abec22cd22 fix: text sync issues 2023-07-12 12:30:36 +08:00
Zixuan Chen
f83837304e feat: basic import export pipeline 2023-07-12 03:49:11 +08:00
Zixuan Chen
8ebd41fa3d feat: connect diff calculator 2023-07-12 00:29:23 +08:00
Zixuan Chen
1f827f944e feat: basic pipeline for text 2023-07-10 23:17:39 +08:00
Zixuan Chen
a90218f229 chore: fix all warnings 2023-07-10 21:37:30 +08:00
Zixuan Chen
23a212e5f6 chore: fix warnings and rm some dead code 2023-07-10 18:35:31 +08:00
Zixuan Chen
de9a8cb9ad refactor: rm usage like Arc<LoroValue>
because LoroValue itself is cheap to clone now
2023-07-10 18:28:44 +08:00
Zixuan Chen
a90668abca refactor: make LoroValue cheap to clone 2023-07-10 18:26:49 +08:00
Zixuan Chen
4634f0ddbb feat: txn apply local op 2023-07-10 18:00:42 +08:00
Zixuan Chen
159cd9127f refactor: rename remote content to raw op content 2023-07-10 16:54:55 +08:00
Zixuan Chen
f6c7e7a8f4 refactor: rm AppStateDiff 2023-07-10 16:53:56 +08:00
Zixuan Chen
4744431ab7 refactor: move remote to local op convert to arena 2023-07-10 15:58:30 +08:00
Zixuan Chen
b1d438d08d fix: a weird deps bug
error[E0635]: unknown feature `proc_macro_span_shrink`
  --> /Users/zxch3n/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.49/src/lib.rs:92:30
   |
92 |     feature(proc_macro_span, proc_macro_span_shrink)
   |                              ^^^^^^^^^^^^^^^^^^^^^^
2023-07-10 15:57:55 +08:00
Zixuan Chen
508ca4b5c6 refactor: use a new version of txn 2023-07-10 12:06:11 +08:00
Zixuan Chen
bdb0e26b93 refactor: use locks inside arena 2023-07-09 21:22:26 +08:00
Zixuan Chen
bc11f0a6d2 feat: init txn 2023-07-08 00:22:34 +08:00
Zixuan Chen
ba8de055b4 chore: fix warnings 2023-07-07 21:56:35 +08:00
Zixuan Chen
d2c3eead90 feat: list diff calculator 2023-07-07 21:54:47 +08:00
Zixuan Chen
179e67bd8a refactor: add a new event type for raw text event 2023-07-07 21:40:33 +08:00
Zixuan Chen
e72a97f6b7 chore: map diff calc 2023-07-07 19:12:41 +08:00
Zixuan Chen
cc4e1d02e4 feat: readonly arena 2023-07-07 15:36:19 +08:00
Zixuan Chen
fd588beee2 feat: support txn abort for states 2023-07-05 23:13:39 +08:00
Zixuan Chen
8f6a6e1cc2 feat: convert remote change to local change in oplog 2023-07-05 22:07:45 +08:00
Zixuan Chen
a0a7dc1080 test: fix fuzz test err 2023-07-05 19:08:27 +08:00