fix(cmux-next sidebar): "No matching chats" no longer shows above a full project list
Layout pass, running list (full list in cmuxterm-hq knowledge/layout-pass.md):
- Merged: #22785 Settings, #22825 Markdown, #22839 Chief inspector, #22847 Harnesses, #22862 Settings in the gallery, #22872 Code editor find, #22880 gallery picker Tailwind, #22897 diff toolbar, #22904 Passwords, #22917 Agent Activity, #22954 Stats, #22959 Path picker, #22966 History
- Open: #22976 App Store, this PR: session sidebar
Summary
With project grouping on (the sidebar's default in the pane), the chats sidebar said "No matching chats" above a full project list, and hid the Settled section. noMatches counted pinned, flat Active and Settled chats, but with grouping on the shown chats are in groups, and the flat active list is always empty. So any sidebar with no pinned and no settled chats said it had no matches. noMatches now counts the project groups too.
Before / after
Gallery agent-pane.session-sidebar / baseline at 380, dark and light:
| Before | After | |
|---|---|---|
| Dark | ![]() | ![]() |
| Light | ![]() | ![]() |
(The rail draws 300px wide in this gallery entry, which squeezes the list column. That is a separate gallery defect, the same in both shots, and it's on the layout-pass list.)
Test
cd webviews && bun test test/chats-sidebar-empty.test.tsx
- Base (red commit 003d9e030e3):
chats grouped by project are not called no matchesfails, withReceived: "No matching chatsProjectscmuxFix the buildShip the docs". - Head: 4 pass. The test also checks that a search matching a grouped chat shows no "No matching chats", and that a search matching nothing says it once.
Observed / Not run
- Ran: the test above (red, then green). Every test touching the sidebar passes (
chat-rows-open-on-press,chats-sidebar-empty,session-sidebar-preview,session-list-grouping; 21 pass). Also ran oxfmt, oxlint, tsc (no errors in the changed files),check:{layers,type-scale,status-glyphs,system-blue,text-focus,dialog-keys,switch-fetches,browser-lanes}andprepush-gate.py. The stills come from the gallery dev server in Chromium. - Not run: the full
bun run check(it's fleet-only on huge-blue; CI runs it) and the native app.
Changelog
Fixed: The chats sidebar no longer says "No matching chats" above a list of project chats.
Agent session: huge-blue
🤖 Generated with Claude Code



