Preserve complete Today timing ledger across device handoff #1276

Closed
opened 2026-08-22 19:21:43 +00:00 by rockachopa · 0 comments
Member

Problem

Today session handoff transfers only the active identity and elapsed time, while the timer recap is built from every timed entry. After timing multiple Today items, continuing on another device silently drops earlier item durations from recap, estimate comparison, and optional Gitea time logs.

Evidence

  • frontend/today-timer.js keeps a per-item entries ledger and recapEntries().
  • frontend/today-session-sync.js, TodaySessionUpdate, and today_sessions currently carry one identity/time pair.
  • Open/closed issue and recent commit review found active-item, conflict, and break handoff work, but no complete-ledger transfer.

Acceptance

  • Publish a bounded ledger of up to 20 unique identities with non-negative elapsed milliseconds.
  • Claim atomically adopts the complete ledger and keeps the active item running without double counting.
  • Legacy single-item sessions remain readable as a one-entry ledger.
  • Handoff summary reports tracked item count and aggregate time.
  • Invalid, duplicate, oversized, or inconsistent ledgers are rejected.
  • Focused frontend/store/API tests and full suite pass.
## Problem Today session handoff transfers only the active identity and elapsed time, while the timer recap is built from every timed entry. After timing multiple Today items, continuing on another device silently drops earlier item durations from recap, estimate comparison, and optional Gitea time logs. ## Evidence - `frontend/today-timer.js` keeps a per-item `entries` ledger and `recapEntries()`. - `frontend/today-session-sync.js`, `TodaySessionUpdate`, and `today_sessions` currently carry one identity/time pair. - Open/closed issue and recent commit review found active-item, conflict, and break handoff work, but no complete-ledger transfer. ## Acceptance - Publish a bounded ledger of up to 20 unique identities with non-negative elapsed milliseconds. - Claim atomically adopts the complete ledger and keeps the active item running without double counting. - Legacy single-item sessions remain readable as a one-entry ledger. - Handoff summary reports tracked item count and aggregate time. - Invalid, duplicate, oversized, or inconsistent ledgers are rejected. - Focused frontend/store/API tests and full suite pass.
timmy was assigned by rockachopa 2026-08-22 19:21:43 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1276
No description provided.