Search all issues and pull requests from the command palette #195

Closed
opened 2026-08-07 12:19:29 +00:00 by rockachopa · 0 comments
Member

Problem

The command palette only filters four local actions. Work that is not already assigned, review-requested, or unassigned cannot be found without leaving the dashboard and searching repositories manually. Historical issue, PR, release, and recent-commit review found no global issue/PR search implementation.

Vertical slice

Add an authenticated, bounded global work-search endpoint and connect it to the existing keyboard/mobile command palette. Results show repository, number, type, state, and title and open the canonical Gitea URL. Local commands remain available during loading or failure.

Acceptance criteria

  • Fewer than 2 trimmed characters make no remote request.
  • A settled query searches accessible issues and pull requests with bounded limits and no background polling.
  • Results are normalized, deduplicated, safe to render as text, and include only valid HTTP(S) links.
  • Newer queries cannot be overwritten by stale responses; keyboard selection and Escape continue to work.
  • Upstream failure is retryable and does not remove local commands.
  • Works under the /dashboard/ deployment subpath and at mobile widths.
  • Behavioral tests cover backend validation/failure and frontend debounce/stale-response/keyboard behavior.

Implementation must use strict test-first TDD.

## Problem The command palette only filters four local actions. Work that is not already assigned, review-requested, or unassigned cannot be found without leaving the dashboard and searching repositories manually. Historical issue, PR, release, and recent-commit review found no global issue/PR search implementation. ## Vertical slice Add an authenticated, bounded global work-search endpoint and connect it to the existing keyboard/mobile command palette. Results show repository, number, type, state, and title and open the canonical Gitea URL. Local commands remain available during loading or failure. ## Acceptance criteria - Fewer than 2 trimmed characters make no remote request. - A settled query searches accessible issues and pull requests with bounded limits and no background polling. - Results are normalized, deduplicated, safe to render as text, and include only valid HTTP(S) links. - Newer queries cannot be overwritten by stale responses; keyboard selection and Escape continue to work. - Upstream failure is retryable and does not remove local commands. - Works under the `/dashboard/` deployment subpath and at mobile widths. - Behavioral tests cover backend validation/failure and frontend debounce/stale-response/keyboard behavior. Implementation must use strict test-first TDD.
timmy was assigned by rockachopa 2026-08-07 12:19:29 +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#195
No description provided.