Skip to content

Issue panel: opened issues are tabs (0.1.17) - #15

Merged
reoring merged 2 commits into
mainfrom
panel-tabs
Nov 12, 2026
Merged

reoring merged 2 commits into
mainfrom
panel-tabs

Conversation

@reoring

@reoring reoring commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Why

The side panel showed one issue; clicking another on the list or board replaced it. Comparing two issues meant going back and forth.

What

Design: design/README.md § Issue panel tabs (v0.1.17).

  • Each issue opened from a list, board, sprint or the inbox is a tab in the panel. Clicking an issue that is already open activates its tab.
  • The active issue stays in the URL (?issue=), so links, reload and back/forward work as before. The open tabs are the person's working set: kept in sessionStorage per browser tab, never in the URL, at most 20 (least recently active evicted).
  • J/K with the panel open replaces the active tab in place (no trail of tabs); walking onto an issue that already has a tab activates it instead. Browsing never closes a tab.
  • Closing the active tab (its ×, middle click, Esc, Delete on the focused tab) activates the right neighbour, else the left; closing another tab leaves the active one alone; the panel's × closes all.
  • Only the active issue is fetched and rendered.
  • Rules are pure functions in web/src/model/panel-tabs.ts with table tests; usePanelTabs is shared by the issues pages and the inbox.

Unchanged: the command palette and links inside an issue (parent, children, blockers) still go to the full page.

Verification

  • tsc --noEmit, bun test src (156 pass).
  • Browser against the mock API (1440×900): three cards → three tabs; first card again → its tab active, still three; close a background tab → active unchanged; close the active tab → right neighbour; Esc on the last → panel closed, issue removed; reload restores the tabs; fresh ?issue=APT-9 → one tab; three tabs then J×4 → active changes, still three tabs; open A, B, Back → A active, both present; page scroll kept on tab switch; 12 tabs → strip scrolls, active tab in view; Home/Right/Delete on the strip; unknown issue shows not-found in a closable tab; inbox opens tabs. At 390px wide the strip scrolls and close buttons are 32px.
  • Not verified: the deployed installation; a screen reader.

@reoring
reoring merged commit 16ed17d into main Nov 12, 2026
3 checks passed
@reoring
reoring deleted the panel-tabs branch November 12, 2026 03:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant