Pause active Today timing during mobile Search #1078

Closed
opened 2026-08-18 12:22:57 +00:00 by timmy · 0 comments
Owner

Product gap

Opening mobile Search while a Today checkpoint is running currently leaves the timer running. Time spent researching another issue is silently charged to the active item. Today already has durable interruption handoffs for Attention and quick capture, but Search has no equivalent lifecycle.

Vertical slice

Make Search a lossless temporary detour: pause the exact running Today item when Search opens, show the paused context in Search and Search Preview, and resume it exactly once when Search is exited. Starting a different Search result transfers ownership and must not resurrect the previous timer; queueing a result preserves the original timer.

Acceptance criteria

  • Opening Search pauses a running Today timer and excludes Search elapsed time.
  • Search and preview show Today paused · <item> with a mobile-safe Return to Today action.
  • Close, Escape, browser Back, and Return restore the exact checkpoint once.
  • A timer already paused before Search remains paused.
  • Assign & start transfers ownership and clears the old handoff; Add to Today does not.
  • Interruption state is account-scoped and durable across reload.
  • Persistence failure leaves Search usable and does not falsely claim timing paused.
  • Focused behavioral tests and the full suite pass.

Non-duplication evidence

Historical issue-title review found only Search planning/queueing work (#797, #809, #811). Existing interruption work covers app backgrounding (#591), Attention (#595), and quick capture (#1076), not Search timer attribution or return handoff.

## Product gap Opening mobile Search while a Today checkpoint is running currently leaves the timer running. Time spent researching another issue is silently charged to the active item. Today already has durable interruption handoffs for Attention and quick capture, but Search has no equivalent lifecycle. ## Vertical slice Make Search a lossless temporary detour: pause the exact running Today item when Search opens, show the paused context in Search and Search Preview, and resume it exactly once when Search is exited. Starting a different Search result transfers ownership and must not resurrect the previous timer; queueing a result preserves the original timer. ## Acceptance criteria - Opening Search pauses a running Today timer and excludes Search elapsed time. - Search and preview show `Today paused · <item>` with a mobile-safe Return to Today action. - Close, Escape, browser Back, and Return restore the exact checkpoint once. - A timer already paused before Search remains paused. - Assign & start transfers ownership and clears the old handoff; Add to Today does not. - Interruption state is account-scoped and durable across reload. - Persistence failure leaves Search usable and does not falsely claim timing paused. - Focused behavioral tests and the full suite pass. ## Non-duplication evidence Historical issue-title review found only Search planning/queueing work (#797, #809, #811). Existing interruption work covers app backgrounding (#591), Attention (#595), and quick capture (#1076), not Search timer attribution or return handoff.
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#1078
No description provided.