Repository navigation
cmux-next: sidebar tab list draws New Tab tabs with the new-tab icon and title - #17938
azooz2003-bit wants to merge 6 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sidebar now gets the ids of tabs still on the New Tab page, the same state the tab strip titles them from, and lists those tabs as new tabs. It reads them inside its observation, so a New Tab that becomes a chat relists as a chat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It listed them by their record's blank-page address (about:blank); it now uses the tab strip's localized New Tab title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
Summary
Follow-up to #17630, for item 15 of the cmux-next sweep (cmuxterm-hq#1421). #17630 gives New Tab page tabs the registry's
tab.newin the tab strip. The sidebar's tab list still drew them withagent.chat, because the sidebar didn't know which tabs are still on the New Tab page.The sidebar now gets that state (
AgentTabs.pageTabs.ids, the same set the tab strip titles "New Tab" from) and lists those tabs with a newSidebarTabKind.newTab, which drawstab.new.The fleet capture showed a second defect from the same missing state: the list titled these tabs by their record's blank-page address, "about:blank", where the strip says "New Tab". They now use the strip's localized title (
Strings.untitledBrowser), with no new strings.Converted call sites:
SidebarTabKind: newnewTabcase, icontab.new.SidebarMapping.sections(…, newTabPages:newTabTitle:)androw(…, newTabPages:newTabTitle:): new parameters, default empty. The tab list kind is.newTab, then.agentChatfor other agent session tabs, else the record's kind.SidebarBridge.sections,liveSectionsand the per-machinesections: passnewTabPagesthrough; the per-machinesectionspassesStrings.untitledBrowseras the title.pageTabs.idsinside their observation, so a New Tab that becomes a chat relists as a chat), the first show, andresync.Not changed: the workspace row's own kind icon (
kind(front)), which is pending Leo's call. The test checks that the row's kind is the same with or without the New Tab state.SidebarTabKindisCodable. Adding a case keeps saved rows readable, since older saves never contain it.Testing
Red commit 62fbccd adds
SidebarMappingTests.aNewTabPageTabListsAsANewTab; the fix follows. The red run failed to compile on base (nonewTabPagesargument, no.newTabcase), and the fix passedswift test(2308 tests).Red commit 6f451af adds
aNewTabPageTabListsUnderTheNewTabTitlefor the title; its fix follows..agentChatwithout the New Tab state and as.newTab(icontab.new) with it.Changelog
Fixed: New Tab tabs in the sidebar's tab list show a new-tab icon and the New Tab title instead of the agent chat bubble and about:blank
Demo Video
Fleet builds on a capture mini (1x display), launched with
sidebar.showWorkspaceTabson. The before build is #17630's base (ff267c4), which has the same sidebar mapping as this PR's base. The after build has the icon fix and predates the title fix, so it still says "about:blank". The tab strip above still shows the bubble because #17630 is not in this branch.Tab list at 5x, before (top) and after (bottom):
Checklist
🤖 Generated with Claude Code
Migrated from #17635 after correcting the PR author identity. The original head commit 2fb5993 is preserved.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes the sidebar tab list so tabs still on the New Tab page draw with the new-tab icon and the New Tab title, instead of the agent chat bubble and the record's "about:blank" address.
AgentTabs.pageTabs.ids), so a New Tab that becomes a chat relists as a chat.SidebarTabKind.newTabkind with thetab.newicon.SidebarTabKindis Codable, so older saved rows remain readable.Written for commit 2fb5993. Summary will update on new commits.