Files
AFFiNE-Mirror/packages/common/y-octo/core
DarkSky 7123595831 chore: bump deps (#15059)
#### PR Dependency Tree


* **PR #15059** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Configurable minimum account age before new accounts can invite
members or create share links (default: 24 hours).
* Sign-in now returns and caches user info for improved session
handling.

* **Bug Fixes**
  * Queue handling accepts and resolves job IDs with special characters.
* Improved clipboard/rich-text caret handling and nested-list paste
reliability.
  * Calendar tests use dynamic current-month dates.
  * AI search returns explicit "No matching documents" when none found.
  * Auth session responses are explicitly non-cacheable.

* **Chores**
* Dependency and toolchain bumps; admin UI config/schema exposes the new
account-age setting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 20:13:59 +08:00
..
2026-06-01 20:13:59 +08:00

Y-Octo

test docs crates codecov

Y-Octo is a high-performance CRDT implementation compatible with yjs.

Introduction

Y-Octo is a tiny, ultra-fast CRDT collaboration library built for all major platforms. Developers can use Y-Octo as the Single source of truth for their application state, naturally turning the application into a local-first collaborative app.

Y-Octo also has interoperability and binary compatibility with yjs. Developers can use yjs to develop local-first web applications and collaborate with Y-Octo in native apps alongside web apps.

Who are using

AFFiNE is using y-octo in production. There are Electron app and Node.js server using y-octo in production.

Mysc is using y-octo in the Rust server, and the iOS/Android client via the Swift/Kotlin bindings (Official bindings coming soon).

Features

  • Collaborative Text
    • Read and write styled Unicode compatible data.
    • 🚧 Add, modify and delete text styles.
    • 🚧 Embedded JS data types and collaborative types.
    • Collaborative types of thread-safe.
  • Collaborative Array
    • Add, modify, and delete basic JS data types.
    • Recursively add, modify, and delete collaborative types.
    • Collaborative types of thread-safe.
    • 🚧 Recursive event subscription
  • Collaborative Map
    • Add, modify, and delete basic JS data types.
    • Recursively add, modify, and delete collaborative types.
    • Collaborative types of thread-safe.
    • 🚧 Recursive event subscription
  • 🚧 Collaborative Xml (Fragment / Element)
  • Collaborative Doc Container
    • YATA CRDT state apply/diff compatible with yjs
    • State sync of thread-safe.
    • Store all collaborative types and JS data types
    • Update event subscription.
    • 🚧 Sub Document.
  • Yjs binary encoding
    • Awareness encoding.
    • Primitive type encoding.
    • Sync Protocol encoding.
    • Yjs update v1 encoding.
    • 🚧 Yjs update v2 encoding.

Testing & Linting

Put everything to the test! We've established various test suites, but we're continually striving to enhance our coverage

  • Rust Tests
  • Node Tests
  • Smoke Tests
  • Eslint, Clippy
  • OctoBase: The open-source embedded database based on Y-Octo.
  • yjs: Shared data types for building collaborative software in web.

Maintainers

Why not yrs

See Why we're not using yrs

License

Y-Octo are MIT licensed.