Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0 #462

Draft
wants to merge 270 commits into
base: main
Choose a base branch
from
Draft

v1.0 #462

wants to merge 270 commits into from

Conversation

zxch3n
Copy link
Member

@zxch3n zxch3n commented Sep 12, 2024

No description provided.

zxch3n added 30 commits June 13, 2024 22:49
…ement

- Add ID serialization methods in loro-common
- Update KvStore trait with binary search and double-ended iterator
- Modify export/import blocks to use bytes::Bytes
- Refactor ChangeStore to use external KV store for persistence
- Implement flush, encode_all, and decode_all methods for ChangeStore
- Update change retrieval and iteration methods to work with new block management
- Improve block parsing and caching mechanisms
zxch3n and others added 30 commits September 25, 2024 20:50
* feat: add clear method

* feat: expose clear fn to wasm and rust
it should retain all containers created after the `from` version
This can avoid the use of shrink_frontiers
to avoid deadlock when using Loro with multi-thread
it may introduce weird bug
* chore: init ffi

* feat: impl doc and LoroList

* feat: impl containers

* feat: unknown container

* feat: event ffi

* chore: clean

* feat: ffi undo manager

* chore: cargo fix

* chore: cargo fix

* fix: ffi value or container

* fix: ffi arc

* fix: is attached for movable list

* bk

* feat: all LoroDoc func

* feat: refine vv

* feat: ffi frontiers

* feat: ffi awareness

* fix: merge
* pref: optimize diff calc cache use

* fix: type err
* feat: add allocation algorithm

* test: add test

* perf: split struct for effective multiplex

* perf: code style

* test: add dfs check

* fix: rename gen to gen_graph

* fix: problem of multiple starting points

* perf: use fast log

* chore: rename `gen` to `generate`

* perf: use fxhash

* feat: lamport split algorithm

* feat: lamport split done

* fix: remove min import

* feat: add dfs test

* feat: dag

* feta: fix fuzz

* feat: add test_alloc_fuzz

* feat: add bfs algorithm

* feat: bfs

* test: add fuzz

* test: chang fuzz rule

* chore: clean up

---------

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

* fix: warnings
* refactor!: change how we encode list state for fast-snapshot

* perf: speedup tree decode

* test: add movable list state snapshot test

* chore: add state encoding overhead test

* fix: error about invalid tree node creation

* chore: update example

---------

Co-authored-by: Leon Zhao <leeeon233@gmail.com>
* refactor: rename gc snapshot to trimmed snapshot

* refactor: mv
* refactor: Loro import function should return LoroEncodeError

- Change return type
- Add support for handling potential errors:
  - Invalid or non-existent frontiers
  - Exporting old snapshot format from trimmed snapshot doc
- Improve compatibility with trimmed docs

* fix: add tests and fix a few places that need to return err
- (js) Refactor subscription mechanism to return unsubscribe function
- (rust) Implement must-use struct for subscriptions in Rust
- Enhance API ergonomics for JavaScript-like environments
- Improve resource cleanup and prevent potential memory leaks
* fix: fork error
fixed #490

* chore: fix warnings
* refactor: change the first param of travel change from id to ids

* fix: fix all warnings and refine the impl of subscription

* chore: use pnpm
* test: bench large folder with 1M files & 100M ops

* test: update task

* test: display trimmed snapshot size

* chore: record current test result

* perf: optimize the speed of ensure_vv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants