Make mobile My Work detail sheets URL-addressable and back-button safe #205

Closed
opened 2026-08-07 15:09:37 +00:00 by timmy · 0 comments
Owner

Problem

My Work cards open full-screen mobile sheets without changing browser history. Android/iOS Back can leave the dashboard, refresh loses the selected task, and a specific task cannot be shared. Current origin/main has no fragment router or popstate handling, and no historical issue or recent commit covers this behavior.

Vertical slice

Add validated fragment routes for issue, pull, review, and unread-update details; synchronize sheet open/close with browser history; restore direct routes after live data loads; and provide a native-share/clipboard action.

Acceptance criteria

  • Tapping each My Work card opens its existing sheet at a stable #/my-work/... URL.
  • Browser Back closes the sheet without leaving the dashboard; Forward reopens it.
  • Direct load/refresh restores issue, pull, review, and update routes.
  • Invalid fragments cannot become API paths and return safely to My Work.
  • A Share action uses navigator.share with clipboard fallback and an accessible status.
  • Focus returns to the originating card when a routed sheet closes.
  • Behavioral route tests and the full suite pass.
## Problem My Work cards open full-screen mobile sheets without changing browser history. Android/iOS Back can leave the dashboard, refresh loses the selected task, and a specific task cannot be shared. Current origin/main has no fragment router or popstate handling, and no historical issue or recent commit covers this behavior. ## Vertical slice Add validated fragment routes for issue, pull, review, and unread-update details; synchronize sheet open/close with browser history; restore direct routes after live data loads; and provide a native-share/clipboard action. ## Acceptance criteria - Tapping each My Work card opens its existing sheet at a stable `#/my-work/...` URL. - Browser Back closes the sheet without leaving the dashboard; Forward reopens it. - Direct load/refresh restores issue, pull, review, and update routes. - Invalid fragments cannot become API paths and return safely to My Work. - A Share action uses `navigator.share` with clipboard fallback and an accessible status. - Focus returns to the originating card when a routed sheet closes. - Behavioral route tests and the full suite pass.
timmy self-assigned this 2026-08-07 15:09:37 +00:00
timmy closed this issue 2026-08-07 15:18:24 +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#205
No description provided.