Commit graph

59 commits

Author SHA1 Message Date
github-actions[bot]
1275e95479 chore: version packages
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
2024-12-11 17:27:28 +08:00
Zixuan Chen
adb6ab87a7
fix: panic when returned non-boolean value from text.iter(f) (#578)
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
* fix: panic when returned non-boolean value from text.iter(f) #577

* test: add related test

* fix: add type for iter function
2024-12-11 15:14:43 +08:00
github-actions[bot]
6e0437e88c chore: version packages
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
2024-12-10 16:36:17 +08:00
Zixuan Chen
d08a865d50
fix: getOrCreateContainer should not throw if value is null (#576)
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
* fix: getOrCreateContainer should not throw if value is null

resolve #575

* chore: update changeset release info
2024-12-10 15:01:12 +08:00
Zixuan Chen
01fccc5a7d
feat: return import status in import_batch method (#573)
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
* feat: return import status in import_batch method

* feat(wasm): add importUpdateBatch returned status support

* chore: add changeset update

* chore: update ffi return type
2024-12-09 16:31:21 +08:00
github-actions[bot]
d54ad80bb6 chore: version packages 2024-11-29 14:24:59 +08:00
Zixuan Chen
0325061476
fix: dead loop when importing updates (#570)
Fix the dead loop issue here: https://gist.github.com/sunflowerdeath/c0e2b46b6f5d2e32d368f8e04f730237

# Reason for the Dead Loop in `find_common_ancestor`

### Original Assumptions

1. **Dependency Assumption**

   If a DagNode is depended upon by other nodes, the direction of this dependency will only point to before the end of the node. This assumption is used in system design.

2. **Node Overlap Assumption**

   DagNodes do not overlap with each other. When retrieving DagNodes from two different positions:
   - They are either completely identical
   - Or they do not overlap at all
   - If there is overlap, it means they are the same node

### Current Issues

1. **Issues Caused by Lazy Loading**

   Due to the use of lazy loading, new situations have arisen. Initially:
   - A certain DagNode is not depended upon by other DagNodes
   - Therefore, the initially retrieved form is complete

2. **Impact of Subsequent Loading**

   After loading additional DagNodes:
   - The newly loaded DagNode may depend on the internal position of the previously complete DagNode
   - This causes the originally complete DagNode to be split into multiple smaller DagNodes

3. **Violation of Original Assumptions**

   In this case, when retrieving the content of the original DagNode again:
   - Other DagNode dependencies may appear in the middle
   - There may be overlaps on the DagNode
   - This violates the original design assumptions

# Fix Approach

Remove the assumption in the original implementation that "overlapping DagNodes will not occur." When overlapping DagNodes are found, retain the shorter one and remove the longer one.
2024-11-29 13:01:15 +08:00
github-actions[bot]
eef5a9fa9a chore: version packages
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
2024-11-18 15:25:39 +08:00
Zixuan Chen
d6966aca34
fix: fractional index is enabled by default now (#561)
* fix: tree should use jitter 0 by default

Otherwise, there may be inconsistency between the event and the actual data. But this will increase the cost when the index property is not used.

* chore: add changeset

* chore: fix warning

* refactor: enable tree move by default

* docs: update related docs
2024-11-18 14:32:56 +08:00
github-actions[bot]
c4a9729c9c chore: version packages
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
2024-11-16 19:33:41 +08:00
Zixuan Chen
70c4942fad
chore: add wasm-base64 build target 2024-11-16 19:18:29 +08:00
Zixuan Chen
35e7ea5f54
fix: calc change count (#556)
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
* fix: calc change count

* fix: len ops
2024-11-13 16:52:41 +08:00
github-actions[bot]
3edae43e7b chore: version packages
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
2024-11-12 23:06:29 +08:00
Zixuan Chen
ee26952fc0
feat: Add isDeleted() method to containers (#555)
* feat: Add isDeleted() method to containers

- Add isDeleted() method to all container types (Text, Map, List, Tree, etc.)
- Fix deletion tracking for containers in tree operations
- Add tests to verify deletion state across different scenarios

* chore: fix redundant field names

---------

Co-authored-by: Leon Zhao <leeeon233@gmail.com>
2024-11-12 21:15:46 +08:00
Zixuan Chen
9abeb81747
feat(wasm): add methods to modify vv (#552)
* feat(wasm): add methods to modify vv

* test: add js test for updating vv
2024-11-10 16:36:09 +08:00
github-actions[bot]
85b4722a27 chore: version packages
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
2024-11-09 21:04:10 +08:00
Zixuan Chen
778ca5452d
feat: allow users to query the changed containers in the target id range (#549)
* feat: allow users to query the changed containers in the target id range

* chore: add changeset note

* chore: update cargo toml

* test: add related tests and add a commit before get_changed_container_in
2024-11-09 21:00:07 +08:00
Zixuan Chen
6e878d216a
Feat add API to query creators, the last editors/movers (#548)
* feat: LoroMap::get_last_editor

* feat: get creator/mover/editor of items

* chore: add changeset

* chore: fix warnings
2024-11-09 19:17:56 +08:00
Zixuan Chen
661610165b
perf: import batch optimize - use the largest snapshot first (#547)
* perf: import batch optimize - use the largest snapshot first

* chore: add changeset info
2024-11-09 16:10:13 +08:00
Zixuan Chen
8486234aba
fix: get correct encode blob info (#545)
* fix: get correct encode blob info

* fix: is_snapshot

* test: fix test case

* test: update ts tests

* chore: add change file

* chore: fix warnings
2024-11-09 15:43:11 +08:00
github-actions[bot]
67fcc89e58 chore: version packages
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
2024-11-04 22:45:55 +08:00
Zixuan Chen
9b60d01be2
fix: define the fork behavior when the doc is detached (#537)
* fix: define the fork behavior when the doc is detached

* chore: add release note
2024-11-04 22:34:33 +08:00
Zixuan Chen
7bf6db7398
feat: add push/push_container to LoroText/LoroList/LoroMovableList (#534)
Some checks are pending
Release WASM / Release (push) Waiting to run
Test All / build (push) Waiting to run
* feat: add push_container and push_str to list/text

* chore: add changeset file
2024-11-04 17:03:24 +08:00
github-actions[bot]
d3cdb20ef8
chore: version packages (#533)
Some checks failed
Release WASM / Release (push) Has been cancelled
Test All / build (push) Has been cancelled
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-29 21:54:16 +08:00
Zixuan Chen
62a3a93552
Refactor: merge two js packages (#532)
* feat: make vitest tests pass

* chore: update readme & add deno test for web bundle

* chore: bump version to 1.0.8-alpha.0

* chore: bump loro-crdt version

* fix: build script
export init method from loro-wasm/web

* chore: bump version

* chore: specify which files to include for npm publish

* refactor: rename loro-js to loro-js-test

* refactor: remove the old loro-js folder

* fix: build scripts

* chore: 1.0.8-alpha.3

* chore: add release info
2024-10-29 21:46:56 +08:00
github-actions[bot]
87157121e4
chore: version packages (#527)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-23 23:19:24 +08:00
Zixuan Chen
dd3bd92d87
chore: release v1 (#526) 2024-10-23 23:16:11 +08:00
Zixuan Chen
596374d622
docs: update the release guide 2024-10-09 19:33:32 +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
34f6064edc
chore: prerelease 2024-05-23 10:24:06 +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
5cd80b0920
chore: changeset release 2024-05-21 13:10:15 +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
31ff43fde5
chore: prerelease 2024-05-21 06:32:29 +08:00
Zixuan Chen
c12c2b9efb
chore: prerelease 2024-05-21 06:27:54 +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
43506cc512
chore: pre release 2024-05-09 16:16:30 +08:00
github-actions[bot]
da8a0f63e5 chore: version packages 2024-05-04 11:41:30 +08:00
Zixuan Chen
e30678d80f
chore: pre-release 2024-05-04 11:35:49 +08:00
github-actions[bot]
307df25691
chore: version packages (#346)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-02 16:54:47 +08:00
Zixuan Chen
2d1fb4a09d
chore: pre-release 2024-05-02 16:51:49 +08:00
Zixuan Chen
04c6290e47
chore: pre-release 2024-05-02 16:48:08 +08:00
github-actions[bot]
41d198d9e4
chore: version packages (#333)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-26 12:29:22 +08:00
Zixuan Chen
35b9b6e7b1
chore: release 2024-04-26 12:14:54 +08:00
github-actions[bot]
1b59909490
chore: version packages (#332)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-24 19:29:58 +08:00
Leon Zhao
24cf9b9138
chore: prerelease 2024-04-24 19:26:20 +08:00
github-actions[bot]
4700ead1c1
chore: version packages (#326)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 19:56:47 +08:00
Zixuan Chen
73e3ba59c3
chore: release (#325) 2024-04-18 17:02:21 +08:00
github-actions[bot]
e8352ad38d
chore: version packages (#321)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-17 15:15:17 +08:00
Zixuan Chen
598d97e013
chore: prerelease 2024-04-17 15:11:07 +08:00