It works offline
Turn off the network and keep reading. Keep writing, too.
It works offline
Open your browser's devtools, switch the network to offline, and keep clicking. Pages you have visited still render, navigation still works, and edits you make are kept. Reconnect and they merge β no conflict dialog, because a CRDT has no conflicts to report.
What is stored
Each document you open is cached in IndexedDB, alongside the metadata cache, uploaded file blobs and a pending-write queue. All of it is scoped per server, so several Abracadabra sites in one browser never see each other's state.
The failure this creates, and the guard for it
Offline-first has a sharp edge: if the SERVER's database is replaced β a wipe, or a restore from backup β every browser still holding the old tree is simply the peer with newer state, and on reconnect it pushes that tree straight back in. You get every page twice, then three times.
No seeder can detect this: by the time it looks, the re-pushed tree is indistinguishable from real content. So the server carries an identity that changes only when its database is replaced, and the client drops that origin's caches before connecting. Fixed upstream, in the SDK, because every app on the platform has the same edge.