CenterForDigitalHumanities / CenterForDigitalHumanities/TPEN-interfaces

Collab Phase 4: Deferred Commit Engine with Important-Moment and Long-Debounce Flush

Open
#556 3 comments 0 reactions 0 assignees View on GitHub
collaboration cross-repo deferred-persistence frontend phase-4
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.