Reimagine state management with CRDTs. Make your app collaborative effortlessly.
Find a file
2022-12-09 21:20:59 +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 Perf store cache in parent node (#36) 2022-12-06 16:34:46 +08:00
crates perf: reduce checkout when importing 2022-12-09 21:20:59 +08:00
docs docs: add glossary 2022-11-18 21:02:31 +08:00
scripts chore: dev container config 2022-11-18 00:31:11 +08:00
supply-chain chore: update crdt-list dep 2022-10-26 23:35:21 +08:00
.editorconfig feat: rle 2022-07-13 00:47:41 +08:00
.gitignore fix: reduce heap alloc 2022-10-31 19:27:13 +08:00
Cargo.lock fix: hierarchy notify 2022-12-09 10:46:55 +08:00
Cargo.toml perf: turn on lto for release mode 2022-12-05 16:34:44 +08:00
deno.jsonc chore(wasm): fix wasm build & test scripts 2022-12-09 11:33:39 +08:00
deno.lock bench(wasm): wasm bench 2022-12-09 10:46:36 +08:00
deny.toml chore: add cargo deny config 2022-07-17 16:33:16 +08:00
README.md docs: init readme 2022-11-18 21:02:31 +08:00
rust-toolchain chore: use stable rust as GAT become stable 2022-11-06 23:18:15 +08:00

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.
  • [TODO] 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