CenterForDigitalHumanities / CenterForDigitalHumanities/TPEN-interfaces
Collab Phase 4: Deferred Commit Engine with Important-Moment and Long-Debounce Flush
- Dominant language
- JavaScript
- Stars
- 2
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.