Commit graph

310 commits

Author SHA1 Message Date
Zixuan Chen
dc5159bf67 perf: speed up op converting 2023-08-06 01:07:08 +08:00
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
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
3771566b9f refactor: integrate container type into container idx 2023-07-14 12:50:48 +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
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
Zixuan Chen
bd4060c591 refactor: make remoteOp a borrowed type 2023-07-05 18:20:50 +08:00
Zixuan Chen
b99276ddce refactor: make local change mergeable
when they are not exposed outside
2023-07-05 15:07:05 +08:00
Zixuan Chen
f0f82fb581 refactor: seal change exp impl 2023-07-05 14:43:58 +08:00
Zixuan Chen
336bd1e497 feat: convert frontiers to version vector 2023-07-04 18:25:33 +08:00
Zixuan Chen
4a8ce16ff1 feat: new map diff and map state 2023-07-04 14:31:50 +08:00
Zixuan Chen
b747452ced refactor: replace containerIdx with ContainerID
in refactor module
2023-07-04 12:35:34 +08:00
Zixuan Chen
87887b1b2c refactor: rename client to peer &
use efficient ContainerID repr
2023-07-04 12:33:03 +08:00
Zixuan Chen
38ee1e5a78 refactor: rename LoroValue::Unresolved to Container 2023-07-04 12:10:36 +08:00
Zixuan Chen
2cbe21463c feat: list & text states 2023-07-04 11:27:09 +08:00
Zixuan Chen
f042f86a92 chore: basic interfaces design 2023-07-03 00:40:05 +08:00
Zixuan Chen
abd3e38253 chore: bk 2023-07-02 23:24:17 +08:00
Zixuan Chen
2df7429e58 chore: rm debug log 2023-06-29 16:55:03 +08:00
Zixuan Chen
c50294ac22 feat: use text tracker diff 2023-06-29 16:09:42 +08:00
Zixuan Chen
0a31b67dd4
Feat: expose frontier & make it comparable (#95)
* refactor: make frontiers a new type

* feat: compare frontiers
2023-04-05 20:31:58 +08:00
Leon zhao
e51d6f8760
Fix: use Transaction to decode/import (#92) 2023-04-04 21:44:41 +08:00
Zixuan Chen
bbcb6f3957
fix: utf16 len fallback to utf8 when unknown (#93) 2023-04-04 17:28:35 +08:00
Zixuan Chen
3e64116621
fix: make text event in wasm use utf16 as index and len (#88)
* feat: utf16 event for wasm (draft, buggy)

* fix: work around the issue of unknown text content

* fix: utf16 err

* fix: compose utf16 meta

* docs: add comments
2023-04-03 20:03:07 +08:00
Zixuan Chen
82b5f8dc90
Perf: speed up utf16 and wasm (#90)
* perf: remove unused transact field

* perf: micro optimization

* bench: fix bench

* bench: add utf16 bench

* chore: refine diagnose

* perf: speedup utf16 lookup

* perf: use better utf16 len counter

* refactor: use js to cast Loro/Transaction

* refactor: map and list use __loro and __txn

* test: configure ci vitest

* chore: ci
2023-04-03 09:29:25 +08:00
Zixuan Chen
b8056614f5 fix: avoid zero len del in text 2023-03-31 10:58:07 +08:00
leeeon233
e6a4be5dcf fix: import change slice 2023-03-28 20:09:33 +08:00
leeeon233
0cbf5e2548 fix: lamport order 2023-03-27 09:35:57 +08:00
leeeon233
e6c5cefe54 doc: import pending 2023-03-27 09:35:57 +08:00
leeeon233
d4f786e64a fix: dep is in merged pending change 2023-03-27 09:35:57 +08:00
Zixuan Chen
87ae95ef02 test: add a missing case 2023-03-27 09:35:57 +08:00
leeeon233
ac80775b17 fix: snapshot pending import 2023-03-27 09:35:57 +08:00
leeeon233
9db061ed36 fix: other client pending import (with debug 2023-03-27 09:35:57 +08:00
leeeon233
c34df16dcb feat: pending snapshot 2023-03-27 09:35:57 +08:00
leeeon233
c1a72c3d7e feat: pending import 2023-03-27 09:35:57 +08:00
Zixuan Chen
0a421d3931 fix: add event diff test & fix related bugs 2023-03-25 20:11:45 +08:00
Zixuan Chen
49f664dd8f feat: convert event to js & add vitest 2023-03-25 20:11:45 +08:00
Zixuan Chen
f27786fa25 fix: container id should be converted to js string 2023-03-25 20:11:45 +08:00
Zixuan Chen
831ab0f04d Merge branch 'main' into refactor-wasm 2023-03-24 11:59:28 +08:00
Zixuan Chen
be9fe842d7
Merge pull request #84 from loro-dev/refactor-interface
feat: expose methods from loro crate
2023-03-24 11:58:15 +08:00
Zixuan Chen
74a7aa6c1a fix: transaction 2023-03-24 11:20:59 +08:00
Zixuan Chen
16e76eaf8e fix: use container id when converting unresolved to jsvalue 2023-03-23 19:19:53 +08:00
Zixuan Chen
94f481e65e fix: settimeout by default in subscription 2023-03-23 19:09:13 +08:00
Zixuan Chen
4c372359e6 fix: use utf16 by default for text in wasm 2023-03-22 23:23:57 +08:00
Zixuan Chen
490a54d559 feat: expose from loro crate 2023-03-21 11:09:12 +08:00
leeeon233
d8f0dfa673 chore: clean the code 2023-03-21 09:47:24 +08:00
leeeon233
99e48b65ae feat: add simple origin 2023-03-20 21:26:36 +08:00
leeeon233
117155cc54 perf: remove compress 2023-03-20 13:55:20 +08:00
leeeon233
25c1f449be fix: DeltaValue trait add length 2023-03-17 16:33:50 +08:00
leeeon233
625e3332da chore: some todo 2023-03-17 11:11:14 +08:00
leeeon233
39a7e49b2e Merge branch 'main' into feat-transaction 2023-03-17 10:20:04 +08:00
leeeon233
ce007295e1 feat: wasm transaction 2023-03-16 17:27:00 +08:00
leeeon233
e6002d7076 bench: observe txn 2023-03-15 20:43:26 +08:00
leeeon233
dd4e7d5ee8 fix: build event when commit 2023-03-15 18:06:20 +08:00
leeeon233
8f4b5f101a fix: remove events when delete container 2023-03-15 15:49:21 +08:00
leeeon233
c4a62bee37 fix: delta compose delete insert 2023-03-15 14:29:05 +08:00
leeeon233
fba6024754 fix: fuzz 2023-03-15 11:52:47 +08:00
leeeon233
e2e7f9cdac refactor: transaction commits immediately 2023-03-15 10:21:43 +08:00
Zixuan Chen
b807064d0a
refactor: rm owning_ref (#80) 2023-03-14 21:02:51 +08:00
leeeon233
41da98ad38 perf: use reduce instead of fold 2023-03-13 22:13:48 +08:00
leeeon233
f165e2594c fix: prelim transaction 2023-03-13 09:41:29 +08:00
leeeon233
87cc3be884 bench: add txn 2023-03-10 18:21:05 +08:00
leeeon233
06637f55d9 perf: remove delta push clone 2023-03-10 18:00:20 +08:00
leeeon233
04dd105d33 fix: remove auto commit 2023-03-10 16:07:07 +08:00
leeeon233
0ff122b68e feat: transaction decode 2023-03-10 14:22:38 +08:00
leeeon233
89c832e2f2 feat: implicit commit 2023-03-10 10:50:05 +08:00
leeeon233
47d1bb603f feat: loro use auto commit transaction 2023-03-09 20:03:29 +08:00
leeeon233
2d316b4414 fix: modify after merging 2023-03-09 10:45:54 +08:00
leeeon233
f6ad5460cb Merge branch 'perf-encode-size' into feat-transaction 2023-03-09 10:45:29 +08:00
leeeon233
dc6926773c fix: snapshot container error due to temp idx 2023-03-08 20:09:51 +08:00
leeeon233
73598c49ad fix: remove checker to container inner 2023-03-07 21:56:16 +08:00
leeeon233
95ad837a79 fix: container length is inconsistent when fuzzing caused by decode 2023-03-07 21:33:23 +08:00
leeeon233
b6e9983eb7 fix: map lamport order 2023-03-07 17:06:10 +08:00
leeeon233
4f5f809bb6 fix: remove temp, add checker
fix: map lamport order
2023-03-07 17:05:52 +08:00