Reimagine state management with CRDTs. Make your app collaborative effortlessly.
Find a file
2023-02-08 11:06:12 +08:00
.devcontainer chore: add dev container 2022-11-18 00:48:18 +08:00
.github/workflows chore(ci): install wasm-bindgen 2022-12-09 12:11:01 +08:00
.vscode Bench: report (#49) 2022-12-27 14:18:46 +08:00
crates fix: client idx use Rle 2023-02-07 11:40:47 +08:00
docs docs: update readme img 2023-02-08 11:06:12 +08:00
scripts chore: dev container config 2022-11-18 00:31:11 +08:00
supply-chain
.editorconfig
.gitignore
Cargo.lock chore: update wasm-bindgen 2023-02-07 11:40:47 +08:00
Cargo.toml perf: turn on lto for release mode 2022-12-05 16:34:44 +08:00
deno.jsonc refactor: move loro-core to loro-internal 2023-01-16 20:08:43 +08:00
deno.lock bench(wasm): wasm bench 2022-12-09 10:46:36 +08:00
deny.toml
README.md docs: update readme img 2023-02-08 11:06:12 +08:00
rust-toolchain

Loro

Loro is a fast CRDT framework with built-in end-to-end encryption ability.

It provides a set of data structures that can automatically sync without any conflict. With end-to-end encryption addon, all data can be encrypted without losing the ability to collaborate with the others. It aims to be the engine for building local-first software.

Why Loro

  • 🚀 It is pretty fast
  • 🔒 [WIP] Security built-in
  • 💻 Syncing data made easy
  • 📜 Preserve all history with low overhead
  • 🪐 [WIP] Time travel the history in milliseconds

Loro supports a variety of data structures and CRDT algorithms.

  • It supports the most used List, Map and Text.
  • [WIP] Peritext for fine-grind rich text operations
  • [TODO] Moveable Tree for directory-like moving operations
  • [WIP] Super fast version checkout and undo/redo

Credits

  • Automerge for its columnar encoding algorithm
  • Yjs for the efficient algorithm of merging blocks
  • Diamond-types for its idea of low-overhead merging algorithm
  • Ink & Switch for Local-first Software and Peritext