Commit graph

1203 commits

Author SHA1 Message Date
东灯
9d7b5b8474
feat & perf: add map.contains_key and perf map.len (#409)
* feat & perf: add map.contains_key and perf map.len

* chore: remove unused import
2024-07-25 16:40:08 +08:00
东灯
7e4500620d
style: use clippy to perf code (#407) 2024-07-24 17:39:29 +08:00
东灯
e01505e013
feat: add text update API (#404)
* feat: add diff algorithm

* feat: implement DiffHook

* feat: add rust/typescript API

* feat: use u8 to enable SIMD

* feat: add SIMD support

* test: add a failed test case

* revert: change to unicode index

* fix: text event index correctness when using utf8 or unicode

* fix: use unicode index

* fix: apply delta

* fix: remove splice_unicode

---------

Co-authored-by: Zixuan Chen <remch183@outlook.com>
2024-07-23 21:22:47 +08:00
Patrick Arminio
b8f9fafed0
Add code to the default rich text configuration (#406) 2024-07-21 19:14:22 +08:00
github-actions[bot]
d2b0520f86
chore: version packages (#403)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-14 17:03:19 +08:00
Yang Si
ce88b326dd
fix: when computing the len of the map, do not count elements that are None (#402) 2024-07-14 16:40:46 +08:00
东灯
c710ec3dd3
feat: add more text api (#398)
* feat: add char_at

* feat: add slice

* feat: add splice

* feat: add rust/typescript API

* fix: ci test

* fix: patch

* fix: patch

* Update crates/loro-wasm/src/lib.rs

Co-authored-by: Zixuan Chen <remch183@outlook.com>

* Update crates/loro-wasm/src/lib.rs

Co-authored-by: Zixuan Chen <remch183@outlook.com>

* Update crates/loro/src/lib.rs

Co-authored-by: Zixuan Chen <remch183@outlook.com>

* perf: use entity index

* fix: patch

* fix: error brackets

---------

Co-authored-by: Zixuan Chen <remch183@outlook.com>
2024-07-14 13:06:04 +08:00
东灯
2f95480e96
feat: add text iter (#400)
* feat: add text iter

* doc: fix return error

* doc: add callback explain

* perf: change to iterate spans
2024-07-13 23:34:37 +08:00
Leon Zhao
00e9c8d031
fix: tree diff calc children should be sorted by idlp (#401) 2024-07-13 23:26:38 +08:00
Leon Zhao
71e5afa6cc
fix: tree undo when processing deleted node (#399) 2024-07-12 10:53:48 +08:00
Leon Zhao
00e7bf2911
chore: rename position to fractional_index (#381)
Breaking Change:
- rename `position` to `fractional_index`
2024-07-11 22:03:48 +08:00
东灯
86c760abd0
feat: add insert_utf8 and delete_utf8 for Rust Text API (#396)
* feat: add insert_utf8

* chore: merge insert functions

* fix: use utf8_to_unicode_index to reslove index

* fix: add bound-check and use unicode PosType

* feat: add delete_utf8

* perf: O(LogN) insert_utf8

* feat: add utf-16 cross unicode check

* perf: O(LogN) delete_utf8

* chore: add api

* chore: remove unused function

* fix: api name and bindgen name

* test: add utf8 js test

---------

Co-authored-by: Zixuan Chen <remch183@outlook.com>
2024-07-10 10:20:08 +08:00
Zixuan Chen
ec905635fd
chore: update fuzz config 2024-07-04 20:06:18 +08:00
Zixuan Chen
9047065843
Fix undo with checkout (#375)
* fix: should transform checkout event

* chore: update fuzz dep

* chore: add pos to error info

* fix: clear undo/redo stack when checkingout

* test: update fuzz dep

* test: a new failed test case

* fix: tree transform

* chore: fuzz

* chore: add log

* chore: add more logs

* fix: compose err

* chore: fuzz test dep

* test: a failed tree case

* fix: undo tree event

* fix: do not compare tree position in fuzz

* fix: fuzz rev

* test: a failed tree case

* fix: add tree compose

* chore: add comment

* chore: fuzz

* fix: test

* fix: tree transform

* fix: tree transform index

* fix: sort tree index

* chore: fuzz

* fix: undo/redo remote change effect compose

* bk

* fix: tree undo redo (#385)

* fix: event hint none

* chore: fuzz version

* ci: fuzz

* bk: weird err

* fix: type err

* fix: fractional index between

* fix: wasm counter feature

* test: a new failed case

* fix: recursively create child nodes

* fix: filter empty event

* bk

* bk

* fix: tree undo redo remap

* chore: clean

* bk

* fix: tree need remap first

* fix: tree undo effect

* fix: tree diff calc

* fix: tree fuzz check eq func

* fix: remove EventHint None

* chore: cargo fix

* fix: tree uncreate

* fix: fuzz tree assert only structure

* refactor: rename methods

* fix: movable tree apply delta

* fix: another movable list issue

* chore: fuzz only check 1 actor's history

---------

Co-authored-by: Leon Zhao <leeeon233@gmail.com>
2024-07-04 18:15:44 +08:00
Zixuan Chen
fc46f429f1 docs: update wasm docs 2024-06-29 13:45:47 +08:00
github-actions[bot]
c3a763e07d chore: version packages 2024-06-28 00:04:09 +08:00
Zixuan Chen
1e94248128
Feat fork (#393)
* feat: fork

* chore: add changeset
2024-06-26 21:05:04 +08:00
github-actions[bot]
b30bb18f77 chore: version packages 2024-06-21 12:11:28 +08:00
Zixuan Chen
439e4e9829
Add packages' repo and basic doc (#390)
* docs: update the pkg desc

* chore: changeset
2024-06-21 12:08:13 +08:00
Leon Zhao
fb028f861d
fix: export CommitOptions & JsonSchema (#389) 2024-06-20 16:52:36 +08:00
github-actions[bot]
2940029b63
chore: version packages (#386)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-13 15:31:53 +08:00
Leon Zhao
0b3c6ba1d0
fix: merge 2024-06-13 15:11:29 +08:00
Leon Zhao
afac34755f
feat: implementing Counter and expose to js side (#384) 2024-06-13 14:43:19 +08:00
Leon Zhao
a941cddfb7
feat: export any range version with json schema (#383) 2024-06-11 20:08:03 +08:00
Leon Zhao
881167b18e
fix: tree state get FI by index error (#382) 2024-06-11 15:19:12 +08:00
Zixuan Chen
9be969dd38
chore: release 2024-06-07 14:14:26 +08:00
Leon Zhao
2df2a52b05
feat: Stable JSON representation for history (#368)
---------

Co-authored-by: Zixuan Chen <remch183@outlook.com>
2024-06-07 13:18:30 +08:00
Zixuan Chen
d2973df859
refactor: rm unused code (#380) 2024-06-07 10:17:23 +08:00
github-actions[bot]
f86421ee75
chore: version packages (#379)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-06 16:59:07 +08:00
Zixuan Chen
dc55055b6f
Perf cache WASM text toDelta result (#378)
* refactor: make cursor transformation in undo/redo better

* chore: add release info

* perf: cache to_delta value in wasm

* chore: release msg
2024-06-06 16:54:52 +08:00
Zixuan Chen
6d47015f6e
Refactor undo cursor (#377)
* refactor: make cursor transformation in undo/redo better

* chore: add release info
2024-06-06 16:49:36 +08:00
Zixuan Chen
54637a7b42
Publish v0.16.2 to crates.io (#374)
* chore: mark dev-utils not published

* chore: release rust crates

* chore: publish fi

* chore: pre publish fi

* chore: update lockfile

* test: change fuzz rev
2024-05-29 22:55:55 +08:00
Leon Zhao
cd04b27d65
fix: fuzz cache and counter feature (#373)
* fix: fuzz cache and counter feature

* fix: rev
2024-05-29 22:44:21 +08:00
Leon Zhao
4a0c8b6ddd
fix: tree transform when a and b is equal (#371)
* test: add test
2024-05-25 08:32:56 +08:00
github-actions[bot]
7fc85b1b04
chore: version packages (#370)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-23 10:28:24 +08:00
Zixuan Chen
6700dad19b
feat: Add event listener and native support of cursor transformation for undo/redo (#369) 2024-05-23 10:19:08 +08:00
github-actions[bot]
c8bbb437ca
chore: version packages (#366)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-21 13:12:38 +08:00
Zixuan Chen
1a347cab72
feat: refine undo impl (#365)
* feat: refine undo impl

- Add "unfo" origin for undo and redo event
- Allow users to skip certain local operations
- Skip undo/redo ops that're not visible to users

* feat: add returned bool value to indicate whether undo/redo is executed
2024-05-21 13:08:43 +08:00
Zixuan Chen
c124efc531
chore: update .npmignore 2024-05-21 06:48:45 +08:00
github-actions[bot]
d01fd66e39
chore: version packages (#364)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-21 06:40:05 +08:00
Zixuan Chen
321e0e72a4
Undo (#361)
https://github.com/loro-dev/loro/pull/361

---------

Co-authored-by: Leon Zhao <leeeon233@gmail.com>
2024-05-21 06:14:49 +08:00
Leon Zhao
26753f0d4d
fix: better jitter for fractional index (#360)
* fix: better jitter
2024-05-16 15:26:49 +08:00
Leon Zhao
6e14e5b117
Feat: Make the encoding format forward and backward compatible (#329) 2024-05-13 21:37:10 +08:00
Gábor Szabó
d958767b13
add repository to Cargo.toml (#358) 2024-05-10 21:14:17 +08:00
Zixuan Chen
ea7d8b0669
fix: refine error message on corrupted data (#356)
* fix: refine error message on corrupted data

* fix: comment
2024-05-10 11:06:01 +08:00
github-actions[bot]
3f23a67bb4
chore: version packages (#355)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-09 16:31:21 +08:00
Zixuan Chen
a9484b48a2
Fix potential movable list bug (#354)
* fix: upgrade wasm-bindgen to fix str free err

* chore: fix ci

* fix: potential bug in movable list op group
2024-05-09 15:46:19 +08:00
Zixuan Chen
0660b1a1be
fix: upgrade wasm-bindgen to fix str free err (#353)
* fix: upgrade wasm-bindgen to fix str free err

* chore: fix ci
2024-05-09 15:22:34 +08:00
Leon Zhao
51a673822e
fix: tree fuzz sort value (#351) 2024-05-07 19:39:38 +08:00
Leon Zhao
fffd49b5fa
Use fractional index to order the children of the tree (#298)
* feat: fractional index

---------

Co-authored-by: Zixuan Chen <remch183@outlook.com>
2024-05-07 14:01:13 +08:00