Make mobile Search sessions addressable and resumable #781

Closed
opened 2026-08-13 23:19:45 +00:00 by timmy · 0 comments
Owner

User problem

Mobile Search loses its query and selected work preview when the browser reloads, evicts the tab, or a link is handed off. Operators must reconstruct their place before acting.

Evidence

task-overlay-history.js stores only the overlay kind, dashboard.js keeps the query/selection in document memory, and mobile-search-viewport.js keeps result position only in a module variable. Existing #317/#318 covers Back navigation inside a live document, not reload or direct-link restoration; #547/#548 covers reopening closed issues, not Search continuity. No open issue is eligible (all are assigned to other humans).

Acceptance criteria

  • Search query is encoded in bounded URL/history state without one history entry per keystroke.
  • Reload/direct navigation restores Search and reruns the query.
  • A selected issue/PR is represented only by stable kind/repository/number identity and restores its canonical preview.
  • Back returns preview → preserved query → dashboard.
  • Missing/inaccessible selections fall back truthfully to the preserved query.
  • Malformed/oversized state is rejected; no response body or sensitive data enters the URL.
  • Existing cancellation, desktop behavior, and mobile viewport handling remain green.
## User problem Mobile Search loses its query and selected work preview when the browser reloads, evicts the tab, or a link is handed off. Operators must reconstruct their place before acting. ## Evidence `task-overlay-history.js` stores only the overlay kind, `dashboard.js` keeps the query/selection in document memory, and `mobile-search-viewport.js` keeps result position only in a module variable. Existing #317/#318 covers Back navigation inside a live document, not reload or direct-link restoration; #547/#548 covers reopening closed issues, not Search continuity. No open issue is eligible (all are assigned to other humans). ## Acceptance criteria - Search query is encoded in bounded URL/history state without one history entry per keystroke. - Reload/direct navigation restores Search and reruns the query. - A selected issue/PR is represented only by stable kind/repository/number identity and restores its canonical preview. - Back returns preview → preserved query → dashboard. - Missing/inaccessible selections fall back truthfully to the preserved query. - Malformed/oversized state is rejected; no response body or sensitive data enters the URL. - Existing cancellation, desktop behavior, and mobile viewport handling remain green.
timmy closed this issue 2026-08-13 23:27:44 +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#781
No description provided.