LatestNo sync events yet.
- Version
- v0
- Queue
- 0
- Forecast total
- –
- Presence
- No one yet
CAPABILITY / LIVE COLLABORATION
Two live clients share one sequencing server. Watch ordered commits, presence, offline edits that drain on reconnect, and safe conflict recovery.
VERIFIED IN THIS SCENARIO
Every commit is sequenced once by the server and fanned out; both grids — including live formulas — converge to identical state.
Drop an acknowledgement, retry with the same mutation id, and the server answers duplicate: applied exactly once, at the original version.
An offline client keeps committing into its durable IndexedDB queue; reconnecting drains the queue in order through the same synchronization flow.
Out-of-order broadcasts buffer until the gap closes; stale base versions surface as conflicts that recover through the documented rebase loop.
A restore that is larger than one server version (0.5.0) becomes one atomic batch: the server stores every version or none, and the peer applies the whole batch in a single transaction.
OWNERSHIP BOUNDARY
Everything moving on this page is the real collaboration flow running in your browser tab. The server is deliberately illustrative — the responsibilities below never move into Sheetwrite.
SyncCoordinator: optimistic local commits, ordered acknowledgements, echo deduplication, gap buffering, and fail-closed input limits.
PresenceCoordinator shares ephemeral selections; rebaseDocumentOperations transforms safe edits and reports explicit conflicts instead of guessing.
PersistenceAdapter + RemoteOperationSource
The in-page server here stands in for your WebSocket or realtime channel. Sheetwrite defines the messages and ordering rules, but ships no network code.
Server-side document state, revision history, and backups live in your database behind your PersistenceAdapter implementation.
Who a collaborator is, what they may edit, and where the service runs are host decisions — presence identity is advisory UI state, never access control.