Repository navigation
cmux-next: internal page tabs draw their page's registry icon - #17582
Conversation
…red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Settings, App Store, History, Bookmarks, Feed, Keyboard Shortcuts, Passwords, Diff, Markdown and editor pages, CodeRouter and the changelog drew stock SF Symbols in the tab strip at text size. Each page now names its cmux icon (InternalPageProvider.icon), drawn filling the icon box like terminal and browser tabs; a third-party app's pane keeps its symbol. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
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 |
|
Batch queue: green. Batch stack Next: land it yourself with gh-merge-green on this receipt. |
…icon (red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
History, Bookmarks, Agent activity and remote-view tabs are browser tabs at cmux:// addresses, so they drew the globe (and the throbber while loading). They now draw their page's registry icon. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Third PR of the icon registry lane (after #17538 and #17558). Tabs that hold cmux's own pages, such as Settings, the App Store, History and Diff, drew stock SF Symbols in the tab strip at text size, while terminal and browser tabs draw from the cmux icon set. Each page now names its cmux icon, and its tab draws that icon filling the icon box the way terminal and browser tabs do.
cmux://history,cmux://bookmarks,cmux://agent-activity,cmux://remote-view) drew the globe and the loading throbber.BrowserTabIconState.resolve(url:)now gives them.page(name):history,bookmark.manager,agent.activityandmachine.remote.PaneController.browserIconpasses the live page's URL, else the record's.InternalPageProvider.icon: IconName?(default nil) is the page's registry icon.InternalPageTabStore.tabIcondraws it, falls back to the page's SF Symbol when a page has none (a third-party app's pane), and usesplaceholderwhen no provider has registered.Call sites converted:
gearshapesettingsAppsService)bagstoreHistoryTopPage)clockhistoryBookmarksTopPage)bookbookmark.managertrayinboxkeyboardkeyboardkeysecurity.lockplusminusdiff.fileFilePageKind)doc.richtext/chevron.left.forwardslash.chevron.rightfile.text/codearrow.triangle.branchaccount.routedsparklesfile.textappapp.genericBrowserTabIconStateforcmux://history/bookmarks/agent-activity/remote-viewglobe(throbber while loading)history/bookmark.manager/agent.activity/machine.remoteInternalPageTabStore.stripItem,storeTabItem.symbol(provider.symbol)tabIcon(provider)Tasks and Debug Settings keep their SF Symbols because the registry has no page icon for them yet. Adding drawings to the pack is a separate change.
Testing
Red commit de0cede adds
InternalPageTabIconTests; the fix follows..icon(name), a page without one draws its symbol, and a missing provider drawsplaceholder.file.textandcode..icon(name). Red commit 2121a18.check-no-godfiles.sh --only swiftpassed.scripts/verify-local.py --affectedpassed feature-flags. package-groups failed oncmux.xcworkspacegrouping, which comes from the base: this PR adds no packages. Fleet builds op-next-icons-2b (base 7cf558b) and op-next-icons-3 (head dcddaf5) were shot on a capture mini after opening History, Bookmark Manager and Settings from the menus.Changelog
Changed: Tabs holding Settings, History, Bookmarks, Diff and other cmux pages show their page's icon from the cmux icon set
Demo Video
Tab strip, before (top) and after (bottom), at 2x from a 1x capture. History and Bookmarks drew the globe and now wear
historyandbookmark.manager. Settings draws the registry'ssettings.Full windows: before, after.
Checklist
🤖 Generated with Claude Code