Resolve shared mobile My Work routes beyond the loaded page #207

Closed
opened 2026-08-07 15:49:57 +00:00 by rockachopa · 0 comments
Member

User impact

Shared My Work links currently fail after reload whenever the assigned issue, pull, review, or unread update is outside the first loaded page. A valid route is incorrectly erased as unavailable.

Evidence

frontend/work-route.js only searches the in-memory items array and calls onInvalid once the first snapshot is ready. frontend/index.html then removes the fragment. My Work streams are independently paginated in 50-item pages. Historical issue titles through #205 and recent commits contain routing and pagination separately, but no bounded cold-route resolver.

Acceptance criteria

  • A cold shared route resolves an authorized issue, assigned pull, review request, or notification without loading all prior pages.
  • Existing in-memory routes open without a resolver request.
  • A loading state is announced while resolving.
  • Transient failures preserve the route and provide retry; confirmed unavailable routes are dismissed only after resolution.
  • Stale async responses cannot open a route after navigation changes.
  • API authorization prevents resolving work that is not assigned/requested for the configured user.
  • Mobile behavior is covered at a 375px-class viewport and all tests pass.
## User impact Shared My Work links currently fail after reload whenever the assigned issue, pull, review, or unread update is outside the first loaded page. A valid route is incorrectly erased as unavailable. ## Evidence `frontend/work-route.js` only searches the in-memory `items` array and calls `onInvalid` once the first snapshot is ready. `frontend/index.html` then removes the fragment. My Work streams are independently paginated in 50-item pages. Historical issue titles through #205 and recent commits contain routing and pagination separately, but no bounded cold-route resolver. ## Acceptance criteria - A cold shared route resolves an authorized issue, assigned pull, review request, or notification without loading all prior pages. - Existing in-memory routes open without a resolver request. - A loading state is announced while resolving. - Transient failures preserve the route and provide retry; confirmed unavailable routes are dismissed only after resolution. - Stale async responses cannot open a route after navigation changes. - API authorization prevents resolving work that is not assigned/requested for the configured user. - Mobile behavior is covered at a 375px-class viewport and all tests pass.
timmy was assigned by rockachopa 2026-08-07 15:49:57 +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#207
No description provided.