- Server version
- v0
- Pending
- 0
- Committed total
- –
- no one yet
- Sync events appear here.
CAPABILITY / COLLABORATION PROTOCOL
Two live clients against one sequencing server: ordered durable commits, duplicate acknowledgements, presence, offline queues that drain on reconnect, version-gap buffering, and conservative 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 protocol.
Out-of-order broadcasts buffer until the gap closes; stale base versions surface as conflicts that recover through the documented rebase loop.
OWNERSHIP BOUNDARY
Everything moving on this page is the real collaboration protocol 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 ships protocol contracts, not 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.