Resolve offline Tomorrow plan conflicts on mobile #1164

Closed
opened 2026-08-20 03:34:10 +00:00 by timmy · 0 comments
Owner

Problem

When a queued Tomorrow plan conflicts with a newer cross-device revision, the controller preserves local and server copies but the mobile UI only says to reopen the planner. Reopening loads the pending copy and provides no conflict review or resolution, leaving delivery in a permanent 409 retry loop.

Vertical slice

Add an explicit mobile conflict-review flow that shows both plans and lets the operator either keep this phone’s plan (rebased onto the displayed server revision) or use the server plan without a write. Preserve both copies on failed resolution and never mutate Today.

Acceptance tests

  • A 409 changes the Tomorrow queue to Conflict · review required and preserves both versions.
  • Opening Tomorrow shows distinguishable phone/server plan order, estimates, and capacity.
  • Keep phone sends exactly one PUT against the server revision and clears pending state only after success.
  • Use server sends no PUT, removes the pending copy, adopts server truth, and refreshes the queue.
  • Failed or repeated conflicts remain reviewable.
  • The rendered 320px mobile flow has touch-safe actions, no horizontal overflow, and accessible dialog focus behavior.

No historical issue or recent commit implements interactive Tomorrow conflict recovery; #1160 only preserves both copies and emits guidance.

## Problem When a queued Tomorrow plan conflicts with a newer cross-device revision, the controller preserves local and server copies but the mobile UI only says to reopen the planner. Reopening loads the pending copy and provides no conflict review or resolution, leaving delivery in a permanent 409 retry loop. ## Vertical slice Add an explicit mobile conflict-review flow that shows both plans and lets the operator either keep this phone’s plan (rebased onto the displayed server revision) or use the server plan without a write. Preserve both copies on failed resolution and never mutate Today. ## Acceptance tests - A 409 changes the Tomorrow queue to `Conflict · review required` and preserves both versions. - Opening Tomorrow shows distinguishable phone/server plan order, estimates, and capacity. - Keep phone sends exactly one PUT against the server revision and clears pending state only after success. - Use server sends no PUT, removes the pending copy, adopts server truth, and refreshes the queue. - Failed or repeated conflicts remain reviewable. - The rendered 320px mobile flow has touch-safe actions, no horizontal overflow, and accessible dialog focus behavior. No historical issue or recent commit implements interactive Tomorrow conflict recovery; #1160 only preserves both copies and emits guidance.
timmy self-assigned this 2026-08-20 03:34:10 +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#1164
No description provided.