SIGN IN SIGN UP

feat: filter sessions by state with Tab/Shift+Tab in menu (#314)

* feat: filter sessions by state with Tab/Shift+Tab in menu

Closes #310. The menu could only filter sessions by text (branch, path,
session name); there was no way to narrow to the sessions that need
attention (busy/waiting) versus those free for new work (idle).

Add a state filter as an independent dimension that composes with the
existing text search. Tab cycles it forward (All -> Busy -> Waiting ->
Idle -> All) and Shift+Tab backward; the active filter is shown in the
footer. The four internal session states collapse into three user-facing
categories (pending_auto_approval folds into Waiting), mirroring the
status display. Rows without a running session are excluded under any
specific state.

The filter logic lives in filterByQuery.ts alongside the text filter and
is unit-tested; the Menu applies both filters in one pipeline.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat: move filter indicators above the worktree list

Show the active "Filtered: ..." (text search) and "State filter: ..."
indicators directly above the list they narrow, instead of in the footer
status block. The footer keeps only the controls/hints line, with the
redundant "Filtered:" prefix dropped from it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
K
Kodai Kabasawa committed
bc5ccfa2b4d307796d37afa98b17d1cf70d63f87
Parent: 39a3168
Committed by GitHub <noreply@github.com> on 6/28/2026, 3:06:19 PM