Preview and claim global search results without leaving the dashboard #197

Closed
opened 2026-08-07 12:51:58 +00:00 by timmy · 0 comments
Owner

Problem

Global command-palette search discovers issues and pull requests, but selecting a result immediately navigates away from the dashboard. On mobile this destroys search context and prevents users from moving directly from discovery into existing My Work actions.

Scope

  • Open a full-width, accessible in-dashboard preview for global issue/PR results.
  • Load bounded read-only detail (title, description, state, labels, assignees, author, canonical URL).
  • Let users claim an open unassigned issue with the existing race-safe assignment route, then refresh/open it in My Work.
  • Keep closed/assigned/non-actionable results read-only with a canonical Gitea fallback.
  • Preserve the search query and restore focus when the preview closes.

Acceptance tests

  • Selecting a remote search result opens a preview without changing window.location.
  • The preview endpoint returns normalized details and safe unavailable responses with Cache-Control: no-store.
  • Rapid selections cannot render stale responses.
  • Open unassigned issues can be claimed once; successful claim enters the existing assigned-issue flow.
  • Closed issues and pull requests expose no claim control.
  • At phone widths the dialog is full viewport, wraps long content, respects safe areas, and keeps controls at least 44px high.
  • Keyboard Escape/close restores the palette query and focus.

Non-duplication evidence

Issue #195/PR #196 intentionally ended at canonical-URL navigation. Existing #179 previews only Find Work candidates before claiming. No open/closed issue or recent commit implements global-search preview-to-action handoff.

## Problem Global command-palette search discovers issues and pull requests, but selecting a result immediately navigates away from the dashboard. On mobile this destroys search context and prevents users from moving directly from discovery into existing My Work actions. ## Scope - Open a full-width, accessible in-dashboard preview for global issue/PR results. - Load bounded read-only detail (title, description, state, labels, assignees, author, canonical URL). - Let users claim an open unassigned issue with the existing race-safe assignment route, then refresh/open it in My Work. - Keep closed/assigned/non-actionable results read-only with a canonical Gitea fallback. - Preserve the search query and restore focus when the preview closes. ## Acceptance tests - Selecting a remote search result opens a preview without changing `window.location`. - The preview endpoint returns normalized details and safe unavailable responses with `Cache-Control: no-store`. - Rapid selections cannot render stale responses. - Open unassigned issues can be claimed once; successful claim enters the existing assigned-issue flow. - Closed issues and pull requests expose no claim control. - At phone widths the dialog is full viewport, wraps long content, respects safe areas, and keeps controls at least 44px high. - Keyboard Escape/close restores the palette query and focus. ## Non-duplication evidence Issue #195/PR #196 intentionally ended at canonical-URL navigation. Existing #179 previews only Find Work candidates before claiming. No open/closed issue or recent commit implements global-search preview-to-action handoff.
timmy self-assigned this 2026-08-07 12:51:58 +00:00
timmy closed this issue 2026-08-07 13:45:48 +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#197
No description provided.