Skip to content

cmux-next: remove the dead SessionSidebar (not shipped since #17504) - #23339

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
cmux/next-remove-session-sidebar
Oct 21, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
cmux/next-remove-session-sidebar

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

SessionSidebar has not shipped since #17504 (2026-10-06): no product code imports it. Only its gallery entry, its tests and the dev-only prototype page (prototype/WorkspaceShell.tsx, /agent-pane/prototype.html) used it, yet lanes kept fixing it (#23002, #23012, gallery plays). The coordinator decided to delete it, so lanes stop fixing dead code.

Removed:

  • SessionSidebar.tsx and SessionSidebar.gallery.tsx
  • the tests that only rendered it: chats-sidebar-empty, session-sidebar-preview, sidebar-rail-css, session-list-grouping, and its cases in chat-rows-open-on-press, row-focus, selected-row-accent, subtle-elevation and gallery-agent-pane-entries
  • the sessionList.ts helpers only it used: sidebarSections, groupByProject, filterSessions, sortByRecency, visibleSessions, groupMark
  • 72 styles.css rules whose classes nothing renders any more
  • the dead :scope>.acpmux-sidebar lookup in summary/cardState.ts (nothing renders that class)
  • its ui-rules.pending.json line; the layers and type-scale baselines are lowered to match

The prototype stays. Its History drawer is now a plain list of the history chats: an "Open" mark for chats already in a tab, the selected chat marked current, and a click opens that chat.

Changelog

none

Test

This removes code with no user-visible change, so there is no red-first test.

  • vp check --no-fmt: clean. check-layers.sh and check-type-scale.sh: pass.
  • The edited browser tests (row-focus, selected-row-accent, subtle-elevation, chat-rows-open-on-press): 56 pass. prototype-stack-switch-motion: pass. gallery-agent-pane-entries: 11 pass.
  • prototype.html?history in Chromium: 20 rows, the Open marks and the current marker show, a click opens the chat and closes the drawer, and there are no page errors.

Observed / Not run

  • Observed: the runs above. An independent review subagent grepped every removed class, export and selector across webviews/, the Swift app and cmux-tui/frontends/web, and passed it. scripts/web-lint.sh and prepush-gate.py pass.
  • Left for a follow-up: sidebarPreview.ts. The native Debug setting agentPane.debug.sidebarPreviewVariant and layout.sidebarPreviewVariant still write it, but nothing reads it any more. Removing it means removing the Swift tunable, the page event and the module together. 21 sidebar.* strings are now unreferenced; the catalogs are untouched.

No capture: dead code removal; the shipped app has no visible change.

Agent session: huge-blue

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Removes SessionSidebar, which has not shipped since #17504. No product code renders it; only its gallery entry, tests, and the dev-only prototype did.

  • Deletes the component, its gallery entry, and the tests that only rendered it (chats-sidebar-empty, session-sidebar-preview, sidebar-rail-css, session-list-grouping, and the sidebar cases in chat-rows-open-on-press, row-focus, selected-row-accent, subtle-elevation, gallery-agent-pane-entries).
  • Drops the sessionList helpers only it used (sidebarSections, groupByProject, filterSessions, sortByRecency, visibleSessions, groupMark), 72 unused styles.css rules (including its entrance transition), the dead sidebar lookup in summary/cardState.ts, and its ui-rules.pending.json entry; the layers and type-scale baselines are lowered to match.
  • The prototype's History drawer now renders its own plain list, marking chats already open in a tab and the selected chat; a click opens the chat and closes the drawer.
  • sidebarPreview.ts stays because the native Debug setting still writes it; removing it is left as a follow-up.

Written for commit 6224fa5. Summary will update on new commits.

View guided diff Turn on auto-fix

The agent pane stopped rendering SessionSidebar in #17504; its only users
were its gallery entry, the dev-only sidebar prototype and tests, so lanes
kept fixing code nobody runs.

- Delete SessionSidebar.tsx, its gallery entry and the tests that only
  rendered it (chats-sidebar-empty, session-sidebar-preview,
  sidebar-rail-css, the sidebar case of chat-rows-open-on-press, the two
  gallery-agent-pane-entries cases, the row-focus / selected-row-accent /
  subtle-elevation session-row and sidebar cases).
- The prototype's History drawer draws its own plain list (title, an
  "Open" mark for sessions in a tab, aria-current for the selected one).
- Drop what only the sidebar used: sessionList's sidebarSections,
  groupByProject, filterSessions, sortByRecency, visibleSessions,
  groupMark, GROUP_ROWS and SessionGroup (and session-list-grouping.test),
  72 styles.css rules for the sidebar, rail, account, session rows and
  previews, and cardState's measure of a sidebar that is never rendered.
- Lower the layers and type-scale baselines the deleted CSS frees.

sidebarPreview.ts stays for now: the native agentPane.debug.sidebarPreviewVariant
Debug setting and layout.sidebarPreviewVariant still write it, but nothing reads
it any more. Removing the setting, the page event and the module is a follow-up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c2b-c6e5-7540-ad96-0eb60604230e&host=huge-blue
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 6224fa5: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr23339 -f ref=cmux/next-remove-session-sidebar -f platform=macos -f backend_mode=local

Gallery before/after for 6224fa5: 16 states rendered, 2 images differ, 1395 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 39597664268 -R manaflow-ai/cmux -n gallery-advisory-23339-6224fa5341a2e22cb860bf2640f977797eb1ec73 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.add-project-panel/environment Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/environment Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors changed 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors Light changed 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors unchanged 0% own styles.css

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

Pending: CI is running on 6224fa5341 (run); the result below was for 1450f800be and no longer applies.

Last result: Yours to fix: gallery-agent-pane-entries.test.ts (a file this PR changes). Seen on other PRs too (likely flaky): categories.test.ts, chiefsCard.test.tsx, chiefsCard.test.tsx and 8 more.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); it is rewritten when this head's CI completes.

web and size checks: green

CI fast guards passes on 6224fa5341 (run). This covers only the fast guards, not CI: CI's result is ci-status.

Tour of 6224fa5341 (run): no media. The tour did not run: only webview code changed (17 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label to tour it on a Mac.

@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by chief-pet-default-off on huge-blue · session

@blacksmith-sh

This comment has been minimized.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-9cf8l created for this PR by the cmux coordinator.

styles.css conflict: base only restyled a removed sidebar rule; kept the
removal, and dropped the sidebar enter rule #22795 added (nothing renders
.acpmux-sidebar).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c2b-c6e5-7540-ad96-0eb60604230e&host=huge-blue
@teamleaderleo
teamleaderleo merged commit 5506b88 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the cmux/next-remove-session-sidebar branch October 21, 2026 14:09
teamleaderleo added a commit that referenced this pull request Oct 21, 2026
…aseline row passes

#22975 merged two unmarked polls in agent-pane-queued-images (CI ran before the
fixed-wait guard); they now wait on the client's snapshots. #23339 deleted
session-sidebar-preview.test.tsx while it still had a baseline row, so the check
failed every PR; a row whose file is gone now passes and drops on --update-baseline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue
teamleaderleo added a commit that referenced this pull request Oct 21, 2026
…ger exist (#23473)

artifact-panel#html/#markdown/#versions, composer-pickers#fast-mode and
composer-row#fast-off/#fast-on reach their states on base 5506b88 (3 tries
with the trusted input driver; their plays report only quality findings).
session-sidebar#rail-keyboard and #view-switching-animation-audit name an
entry #23339 deleted. Also trims a styles.css comment that still described the
removed sidebar drawer.


Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c2b-c6e5-7540-ad96-0eb60604230e&host=huge-blue

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 21, 2026
* test(webviews): base passes the fixed-wait ratchet again

#23094 merged after the guard (#23365) with 9 new fixed waits, so
check:fixed-waits fails on base and on every PR into feat-cmux-next.

- snapshot-save-throttle: the 250 ms save timer runs on bun's fake
  timers; nothing is written at 249 ms, one write at 250 ms. (The old
  300 ms sleep passed with any delay under 300 ms.)
- streaming-text harness and frames test: the reveal drain and the
  settle window are sampled, so the windows are the test; the 500 ms
  before sampling has no start-up-done signal. Marked fixed-wait.
- RevealedMarkdown: the 20 ms in afterEach is teardown with no assert
  after it. Marked fixed-wait.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue

* test(webviews): reveal-message runs its row wait on the fake clock

#22967 added three fixed waits after the guard: the wait for a
revealed row to be drawn polls on setTimeout, so the three tests that
watch it now run on bun's fake timers and advance the clock instead of
sleeping. Breaking the poll, the stale-chat check or the cancel of an
earlier mark each fails its test.

Also: the frames test's start-up comment no longer guesses the cause.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue

* test(webviews): queued-images waits for snapshots; a deleted test's baseline row passes

#22975 merged two unmarked polls in agent-pane-queued-images (CI ran before the
fixed-wait guard); they now wait on the client's snapshots. #23339 deleted
session-sidebar-preview.test.tsx while it still had a baseline row, so the check
failed every PR; a row whose file is gone now passes and drops on --update-baseline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue

* test(webviews): drop the deleted test's baseline row; queued-images' wait fails before bun's timeout

Review nits on #23452: the stale session-sidebar-preview row would have let a new file at that
path keep 6 waits, and a 5 s condition timeout lost its message to bun's 5 s test timeout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c78-27ca-7140-a6c7-95f0db83b18c&host=huge-blue

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant