The offline goal
Users expect to keep typing on a plane or in a tunnel and have their work merge back seamlessly. Offline editing means the client applies edits to a local replica with no server round trip and queues them for later.
What the client stores
- A local copy of the document so reads and writes work instantly.
- A pending queue of operations not yet acknowledged by the server.
- Enough causal metadata to merge correctly after a long gap.
Reconnect flow
On reconnect the client runs the sync protocol, exchanging state vectors, then merges the server's missed updates with its own queued ones. Because the underlying model is a CRDT or transform aware, the merge is automatic even after hours offline.
The key constraint is that offline edits must never need a live decision from the server, or the user would be blocked while away.
Key idea
Offline editing applies edits locally and queues them, then merges automatically on reconnect without needing a live server decision.