Preserve Today recap drafts across offline reloads #581

Closed
opened 2026-08-11 17:50:25 +00:00 by rockachopa · 0 comments
Member

Problem

Today recap corrections and the generated idempotency key exist only in memory. If saving fails offline and the installed app reloads, the operator loses corrected actual times and the stable retry identity even though raw timer entries remain.

Product slice

Persist the active recap draft locally, scoped to the confirmed operator account. Restore it after reload, preserve the same session_id through retries, and clear it only after the server confirms the recap. Never expose or restore one account’s recap to another account.

Acceptance tests

  • Starting and correcting a recap persists its exact bounded payload for the normalized confirmed login.
  • A fresh controller restores the same session ID, corrections, and totals for that login.
  • Another or missing login cannot restore the draft.
  • A failed save keeps the durable draft and timer intact; a successful save clears both.
  • Corrupt/invalid stored data is rejected and removed without breaking recap launch.
  • Focused tests and the full suite pass; shipped mobile recap bundle includes the behavior.

Implementation follows strict RED-GREEN-REFACTOR.

## Problem Today recap corrections and the generated idempotency key exist only in memory. If saving fails offline and the installed app reloads, the operator loses corrected actual times and the stable retry identity even though raw timer entries remain. ## Product slice Persist the active recap draft locally, scoped to the confirmed operator account. Restore it after reload, preserve the same `session_id` through retries, and clear it only after the server confirms the recap. Never expose or restore one account’s recap to another account. ## Acceptance tests - Starting and correcting a recap persists its exact bounded payload for the normalized confirmed login. - A fresh controller restores the same session ID, corrections, and totals for that login. - Another or missing login cannot restore the draft. - A failed save keeps the durable draft and timer intact; a successful save clears both. - Corrupt/invalid stored data is rejected and removed without breaking recap launch. - Focused tests and the full suite pass; shipped mobile recap bundle includes the behavior. Implementation follows strict RED-GREEN-REFACTOR.
timmy was assigned by rockachopa 2026-08-11 17:50:25 +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#581
No description provided.