Commit graph

878 commits

Author SHA1 Message Date
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
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
794ed42ea4 chore: bump version 2023-05-11 12:19:47 +08:00
Zixuan Chen
bc09a0489f
feat: add typed versions of getMap and getList to Loro class (#96)
* feat: add typed versions of getMap and getList to Loro class

This commit adds `getTypedMap` and `getTypedList` methods to the `Loro` class, which allow for accessing maps and lists with type information. It also adds corresponding `getTyped`, `insertTyped`, and `setTyped` methods to `LoroMap` and `LoroList`. This makes it easier and safer to work with Loro's data structures.

* chore: bump version

* chore: alpha 1

* feat: add size and length to list and map

* chore: update deno test script
2023-05-11 11:59:48 +08:00
Zixuan Chen
598f6dbc33 release: loro-crdt v0.2.5 2023-04-07 14:29:18 +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
Zixuan Chen
7f62142db3 chore: bump loro-wasm version 2023-03-28 23:09:05 +08:00
leeeon233
e6a4be5dcf fix: import change slice 2023-03-28 20:09:33 +08:00
Zixuan Chen
abafec9e18 chore: bump versions 2023-03-28 01:05:17 +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
6df69bd2be feat: add subscribe to containers in wasm 2023-03-25 20:11:45 +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
e01b6954db fix: deno tests 2023-03-24 11:57:28 +08:00
Zixuan Chen
606685d42b chore: bump version 2023-03-24 11:50:10 +08:00
Zixuan Chen
74a7aa6c1a fix: transaction 2023-03-24 11:20:59 +08:00
Zixuan Chen
2f74b13e70 feat: extra pkg loro-crdt to wrap loro-wasm 2023-03-24 10:08:11 +08:00
Zixuan Chen
85d91e10b4 chore: speedup wasm build 2023-03-23 22:19:26 +08:00
Zixuan Chen
b0d7ad88b9 fix: not leaking closure 2023-03-23 21:44:27 +08:00
Zixuan Chen
63ebbe2ddb chore: remove tracing 2023-03-23 21:17:16 +08:00
Zixuan Chen
32378a7188 fix: use promise.then instead of timeout 2023-03-23 21:16:29 +08:00
Zixuan Chen
16e76eaf8e fix: use container id when converting unresolved to jsvalue 2023-03-23 19:19:53 +08:00