Keep Week-to-Today pulls through offline reloads #1246

Closed
opened 2026-08-22 02:27:44 +00:00 by timmy · 0 comments
Owner

User problem

A Week Ahead → Today pull is currently a one-shot browser request. If the server commits but the mobile response is lost, reload/retry generates a new operation ID and cannot recover the existing receipt.

Evidence

  • frontend/week-plan.js creates the operation ID at click time and does not persist the pull.
  • src/today_store.py already stores and replays week_item_pulls by operation ID.
  • The reverse Today → Week flow already uses an account-bound durable queue.
  • No historical issue title or recent commit covers durable Week → Today replay.

Acceptance

  • Persist the confirmed pull intent before network submission; storage failure changes nothing.
  • Preserve one operation ID across timeout, reload, reconnect, and foreground replay.
  • Restore truthful optimistic Today and Week snapshots as sync pending.
  • Clear the queue only after a confirmed receipt; isolate it by signed-in account.
  • On conflict, adopt current server truth without overwriting it and keep a reviewable pending intent.
  • Focused behavioral tests and the full suite pass.
## User problem A Week Ahead → Today pull is currently a one-shot browser request. If the server commits but the mobile response is lost, reload/retry generates a new operation ID and cannot recover the existing receipt. ## Evidence - `frontend/week-plan.js` creates the operation ID at click time and does not persist the pull. - `src/today_store.py` already stores and replays `week_item_pulls` by operation ID. - The reverse Today → Week flow already uses an account-bound durable queue. - No historical issue title or recent commit covers durable Week → Today replay. ## Acceptance - Persist the confirmed pull intent before network submission; storage failure changes nothing. - Preserve one operation ID across timeout, reload, reconnect, and foreground replay. - Restore truthful optimistic Today and Week snapshots as sync pending. - Clear the queue only after a confirmed receipt; isolate it by signed-in account. - On conflict, adopt current server truth without overwriting it and keep a reviewable pending intent. - Focused behavioral tests and the full suite pass.
timmy self-assigned this 2026-08-22 02:27:44 +00:00
timmy closed this issue 2026-08-22 02:50:56 +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#1246
No description provided.