Notes history and sync recovery
2026-09-19 — release receipt
Scope: view-only history playback, replacement/cursor feedback, IME deferral, server-generated checksum verification, pending-operation replay and explicit held-draft recovery. Notes usage.
Verification observes the existing CRDT protocol. A different revision or slow check means synchronization is in progress, not divergence. At a matching revision, a different text checksum pauses content sends. Editor/replica disagreement, rejected updates and incompatible reconnect checkpoints also preserve a draft rather than attempting a full-text overwrite.
Lossless RTC snapshots retain character IDs, tombstones and anchors. Flattening text to a string loses the identities later operations reference; preserving only the visible text cannot make such a checkpoint safe. Client and server releases must both understand the lossless representation. History replays a private copy of retained checkpoint/journal data and has no restore/write path.
The frontend recovery dropdown offers Download local draft, Download edit
data (note-edit-data.json) and Use server version. The latter discards only local recovery state and reloads server content.
Storage limitations are surfaced; a refresh is not a substitute for recovery.
Frontend
PR #353 merged as b85581b.
Production 6110a78 was verified live, then the edit-data download followup was
verified at a8f4e05, Netlify deployment 6aaf1e954e62a90008e9f01c.
PR #354 tracks that followup;
its CI/merge status is separate from the runtime deployment. A later test-fixture
correction passed TypeScript without changing runtime behavior.
The export is a local JSON download containing edit and sync diagnostics. It does not discard the held draft, send edits or restore a version. Blockquotes have consistent top and bottom spacing in editing and rendered views.
Validation includes the frontend's full 1,856-test suite, focused collaboration checks, TypeScript and production build. Independent review reran seven snapshot, pending-operation and history tests. The export followup passed seven focused tests. Real OS-level IME testing remains separate from simulated composition.
Coordinated components
API PR #660 merged
as 7eb32396; production task revision 133 runs image 82891a50. One desired task
is running and the previous task stopped. The affected note API response is 4,558
bytes and matches the stable RTC server checksum; the prior 9,125-byte API response
matched replay by the old SDK. This verifies deployed code and note readback;
service stabilization is a separate deployment check.
TypeScript SDK 0.8.10, RTC server 0.4.2, Python SDK 0.0.2 and CLI 0.24.4 are published and registry-verified. Release records: RTC v0.8.10, CLI v0.24.4. Docs 0.1.24 records this receipt and the edit-data download. Public Notes/CLI skills are regenerated from the committed source, then published and installed with exact readback checks.
The release does not automatically repair existing divergent content or replay edits across incompatible checkpoints. Download a held draft before choosing the server version.