Summary
Implement client-side deferred commit strategy to avoid hammering RERUM while preserving editing UX.
Scope
- Queue local operations and coalesce by line.
- Flush on important moments: line switch, page switch, explicit save, user leave.
- Flush on long debounce idle window (8-15s).
- Force flush max age window (45-60s).
- Best-effort flush on visibility hidden or unload.
- Render statuses: local draft, syncing, persisted, conflict.
Acceptance Criteria
- Typing does not trigger per-keystroke durable save.
- Important events trigger immediate flush.
- Long-idle and max-age rules flush as expected.
- Stale data is not lost on closed sessions or dropped connections.
- User sees durable status transitions.
Dependencies
- Depends on TPEN-services draft intake issue.
- Aligned to contract in TPEN-services docs/collaboration/websocket-collaboration-contract.md.
Summary
Implement client-side deferred commit strategy to avoid hammering RERUM while preserving editing UX.
Scope
Acceptance Criteria
Dependencies