Zixuan Chen
95e6130d93
Fix: richtext event ( #138 )
...
Support rich text event. Now it will emit the delta event correctly in the Quill Delta format.
2023-11-01 20:02:05 +08:00
Zixuan Chen
e1ab03f30f
feat: create doc from snapshot ( #136 )
2023-10-31 19:02:52 +08:00
Zixuan Chen
8293347334
Feat: autocommit transaction ( #127 )
...
* feat: auto commit
* fix: make recursive single thread event work again
2023-10-30 18:32:36 +08:00
Leon zhao
e01e98411c
feat: movable tree support ( #120 )
...
* feat: tree state
* feat: tree value
* feat: tree handler
* fix: tree diff
* test: fuzz tree
* feat: tree snapshot
* fix: tree default value
* fix: test new node
* fix: tree diff
* fix: tree unresolved value
* fix: tree fuzz
* fix: tree fuzz move
* fix: sort by tree id
* fix: tree diff sorted by lamport
* fix: sort roots before tree converted to string
* fix: rebase main
* fix: tree fuzz
* fix: delete undo
* fix: tree to json children sorted
* fix: diff calculate
* fix: diff cycle move
* fix: tree old parent cache
* feat: cache
* fix: local op add tree cache
* fix: don't add same tree move to cache
* fix: need update cache
* feat: new cache
* bench: add checkout bench
* chore: clean
* fix: apply node uncheck
* perf: lamport bound
* fix: calc old parent
* feat: tree wasm
* fix: change tree diff
* fix: tree diff retreat
* fix: tree diff should not apply when add node
* feat: new tree loro value
* chore: typo
* fix: tree deep value
* fix: snapshot tree index -1
* fix: decode tree snapshot use state
* fix: release state lock when emit event
* fix: tree node meta container
* fix: need set map container when covert to local tree op
* fix: tree value add deleted
* fix: more then one op in a change
* fix: tree fuzz deleted equal
* fix: tree calc min lamport
* feat: tree encoding v2
* doc: movable tree
* fix: test tree meta
* test: remove import bytes check
* refactor: diff of text and map
* refactor: del span
* perf: tree state use deleted cache
* fix: some details
* fix: loro js tree create
* feat: add un exist tree node
* bench: tree depth
* fix: check out should emit event
* refactor: event
* fix: fuzz err
* fix: pass all tests
* fix: fuzz err
* fix: list child cache err
* chore: rm debug code
* fix: encode enhanced err
* fix: encode enchanced
* fix: fix several richtext issue
* fix: richtext anchor err
* chore: rm debug code
* fix: richtext fuzz err
* feat: speedup text snapshot decode
* perf: optimize snapshot encoding
* perf: speed up decode & insert
* fix: fugue span merge err
* perf: speedup delete & id cursor map
* fix: fugue merge err
* chore: update utils
* fix: fix merge
* fix: return err apply op
* fix: fix merge
* fix: get map container as tree meta
2023-10-30 11:13:52 +08:00
Zixuan Chen
d942e3d7a2
Feat: Peritext-like rich text support ( #123 )
...
* feat: richtext wip
* feat: add insert to style range map wip
* feat: richtext state
* fix: fix style state inserting and style map
* fix: tiny vec merge err
* fix: comment err
* refactor: use new generic-btree & refine impl
* feat: fugue tracker
* feat: tracker
* feat: tracker
* fix: fix a few err in impl
* feat: init richtext content state
* feat: refactor arena
* feat: extract anchor_type info out of style flag
* refactor: state apply op more efficiently
we can now reuse the repr in state and op
* fix: new clippy errors
* refactor: use state chunk as delta item
* refactor: use two op to insert style start and style end
* feat: diff calc
* feat: handler
* fix: tracker checkout err
* fix: pass basic richtext handler tests
* fix: pass handler basic marking tests
* fix: pass all peritext criteria
* feat: snapshot encoding for richtext init
* refactor: replace Text with Richtext
* refacotr: rm text code
* fix: richtext checkout err
* refactor: diff of text and map
* refactor: del span
* refactor: event
* fix: fuzz err
* fix: pass all tests
* fix: fuzz err
* fix: list child cache err
* chore: rm debug code
* fix: encode enhanced err
* fix: encode enchanced
* fix: fix several richtext issue
* fix: richtext anchor err
* chore: rm debug code
* fix: richtext fuzz err
* feat: speedup text snapshot decode
* perf: optimize snapshot encoding
* perf: speed up decode & insert
* fix: fugue span merge err
* perf: speedup delete & id cursor map
* fix: fugue merge err
* chore: update utils
* perf: speedup text insert / del
* fix: cursor cache
* perf: reduce conversion by introducing InsertText
* perf: speed up by refined cursor cache
* chore: update gbtree dep
* refactor(wasm): use quill delta format
* chore: fix warnings
2023-10-29 14:02:13 +08:00
leeeon233
5c0d8b74f4
fix: nodejs patch
2023-09-12 15:57:06 +08:00
Zixuan Chen
345b5bbcb9
perf: speedup when there are many peers
2023-09-02 18:19:34 +08:00
Zixuan Chen
fd0cc63cb5
refactor: return result when checkout to a version
...
err when the specified version is not found
2023-08-11 09:32:34 +08:00
Zixuan Chen
7ab8ccff64
refactor: return handler when inserting container
2023-08-05 16:25:31 +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
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
15be521777
feat: event & wasm
2023-07-29 02:03:51 +08:00
Zixuan Chen
a90668abca
refactor: make LoroValue cheap to clone
2023-07-10 18:26:49 +08:00
Zixuan Chen
f6c7e7a8f4
refactor: rm AppStateDiff
2023-07-10 16:53:56 +08:00
Zixuan Chen
f0f82fb581
refactor: seal change exp impl
2023-07-05 14:43:58 +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
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
7f62142db3
chore: bump loro-wasm version
2023-03-28 23:09:05 +08:00
Zixuan Chen
abafec9e18
chore: bump versions
2023-03-28 01:05:17 +08:00
Zixuan Chen
6df69bd2be
feat: add subscribe to containers in wasm
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
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
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
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
ce007295e1
feat: wasm transaction
2023-03-16 17:27:00 +08:00
leeeon233
189ea685eb
refactor: event with option, add once subscribe
2023-02-07 11:40:47 +08:00
Zixuan Chen
d0e83076ee
refactor: fix bench type err
2023-01-16 20:08:43 +08:00
Zixuan Chen
18d32384a5
refactor: move loro-core to loro-internal
2023-01-16 20:08:43 +08:00
Zixuan Chen
c56653c3c8
refactor: refine encode interface (buggy)
...
Co-authored-by: Leonzhao <leeeon233@gmail.com>
2023-01-16 18:39:08 +08:00
leeeon233
a04d0794aa
fix: avoid Unresolved as PrelimValue
2023-01-16 18:38:55 +08:00
Zixuan Chen
625771c37d
fix: decode batch ( #54 )
2023-01-06 21:14:29 +08:00
Zixuan Chen
a03c68a993
fix: make LoroCore: Send + Sync ( #61 )
2023-01-06 21:03:11 +08:00
leeeon233
6a02ce1568
fix: wasm loro class inner mutability
2023-01-06 12:20:00 +08:00
leeeon233
38ccf36b9d
fix: test
2023-01-03 17:36:17 +08:00
leeeon233
953a4613c6
fix: nesting notify
2023-01-03 17:36:17 +08:00
leeeon233
80640ca4e1
fix: wasm hierarchy notify dead lock
2023-01-03 17:36:17 +08:00
leeeon233
647352aa2a
chore: cargo fix
2022-12-30 11:54:22 +08:00
leeeon233
065e646a7e
refactor: use Weak in container
2022-12-30 11:54:22 +08:00
Zixuan Chen
fd65b1504c
Merge branch 'main' into perf-wasm-analysis
2022-12-27 12:57:16 +08:00
leeeon233
4748e1d38c
fix: decode hierarchy for snapshot mode
...
update columnar version, reduce compression time
2022-12-19 18:07:24 +08:00
leeeon233
b0b1fddef3
refactor: unify encode api
2022-12-19 18:07:24 +08:00
Zixuan Chen
c6f9561de3
chore(ci): fix ci
2022-12-18 21:05:04 +08:00
Zixuan Chen
4a0b8e52e8
Merge remote-tracking branch 'origin/main' into perf-wasm-analysis
2022-12-18 20:59:57 +08:00
leeeon233
4cfdbff768
chore: rebase
2022-12-13 23:06:21 +08:00
Zixuan Chen
035d03c89e
chore(wasm): fix build wasm script
2022-12-13 16:33:24 +08:00
Zixuan Chen
95daf02a29
refactor: rename vv to vv_cloned to emphasize cost
2022-12-13 01:39:57 +08:00
Zixuan Chen
313b1cc8c0
bench: add wasm bench to web test
2022-12-12 13:44:49 +08:00
Zixuan Chen
2903a47ddb
chore(ci): fix build script in ci
2022-12-09 12:03:45 +08:00
Zixuan Chen
85f0d98385
chore(wasm): fix wasm build & test scripts
2022-12-09 11:33:39 +08:00
Zixuan Chen
b74ab34f79
chore(wasm): make build parallel
2022-12-09 10:46:55 +08:00
Zixuan Chen
f9f556f822
fix: add local info
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
aeb935455e
chore: doc bk
2022-11-23 22:03:33 +08:00
Zixuan Chen
c04989d046
ci: speedup wasm-pack install
2022-11-23 19:59:57 +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
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
7a6e50931d
chore: replace justfile with deno task
2022-11-21 12:50:15 +08:00
Zixuan Chen
e5c022b204
refactor: remove unused logics
2022-11-18 16:31:00 +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
0d0603d75f
feat: get value deep
2022-11-11 22:26:06 +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