2026-06-09
by Zixuan Chen
Two users are offline. Both add content to the same empty note. They come back online, sync finishes, and one user’s edits seem to disappear.
There is no error, and the data is not actually gone from history. But can only return one Text container. The other container was created concurrently and still exists in history, but it is no longer visible in the current document state. From the application’s point of view, this looks like data loss.
This is a classic problem in JSON-like CRDTs. Users have run into versions of it in the Loro, Yjs, and Automerge communities. The Appendix has short scripts that reproduce it in all three.
Loro now solves this with Mergeable Containers.…