Repository navigation
Fixes
Prevent duplicated initial content after a collaboration server crash and reconnect. The server now commits the initial seed and its CRDT identity to SQLite before exposing it to clients.
- Preserve the same seed across reconnects, including when a read-only viewer connects before the first writer.
- Leave the live document untouched if the initial database write fails.
- Preserve intentionally cleared documents and existing content without reseeding.
Documentation and tests
Document graceful shutdown, persistence limits, ephemeral presence, and the requirements for alternative database integrations.
Add regression coverage for crash recovery, concurrent writers, failed writes and retries, reseeding exclusions, and SIGINT/SIGTERM shutdown.
Compatibility
- Supported runtime: Node.js 22.23.2.
- No dependency or lockfile changes.
- No database schema migration is required.
- Custom persistence backends must preserve the commit-before-broadcast guarantee.
Upgrade and rollback
Back up SQLite using the procedure in OPERATIONS.md before deployment. Update to this release and rebuild the services while retaining the existing persistence volume.
To roll back, redeploy the previously approved source revision. This release does not require a database rollback migration.
Known limitations
Ordinary edits retain debounced persistence. Abrupt termination can still lose edits that have not reached storage; the seed fix does not make every keystroke durable.
Distribution
This is an MIT-licensed source release. No npm packages or container images are published.