Repository navigation
cmux-next: Feed kinds, inbox controls and GitHub actions draw registry icons - #17692
azooz2003-bit wants to merge 7 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Feed items show their kind with one registry name per meaning at the row size of their text. Menu labels draw template NSImages because AppKit renders them and drops canvases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FeedGlyph.swift held four top-level types, one over the god-file limit. 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
Seventh PR of the icon registry lane (after #17538, #17558, #17582, #17583, #17593 and #17597). The Feed showed each item's kind with SF Symbols at the font size of its text, plus SF labels on GitHub actions, prompt summaries and the inbox header. The Feed now draws them from the cmux icon registry, with one semantic name per meaning, at the row size of the text beside them. Because of #17597, they land on whole pixels.
Kind glyphs (
FeedGlyph.icon(for:)):arrow.triangle.pullintegrationserver.rackmachine.remotegearshape.2automationterminalterminalbellnotificationterminalterminalpencil.lineaction.editnetworknetworkshippingboxpackagewrench.and.screwdrivertoolstext.bubbleagent.questionlist.bulletfeed.choicecheckmark.circleaction.confirmperson.badge.keyaccount.signinperson.badge.key.fillaccount.passkeydoc.text.magnifyingglassaction.reviewrectangle.and.pencil.and.ellipsisfeed.inputdoc.badge.plusfile.newhand.raisedagent.handoffsquare.grid.2x2feed.customThe glyph box is
iconRowSize(textSize)(11 → 13, 12 → 14, 15 → 18). The frame stayssize + 6.Other converted call sites:
PosterLinethis-Mac marklaptopcomputermachine.localFeedInboxHeaderconnection tabsarrow.triangle.pull,traybrand.github,inboxFeedInboxHeaderadd connectionplusaction.addFeedInboxHeadersearchmagnifyingglasssearchFeedInboxHeaderfilter menuline.3.horizontal.decrease,.circle.fillwhen filteredfilter, Line or Solid when filteredFeedInboxHeaderrefresharrow.clockwiseaction.reloadFeedToastclosexmark9 ptaction.closeaticonFloorFeedEmptyState, inbox placeholdertrayinbox.emptyFeedMenubarViewopen Feedarrow.up.forward.appapp.open.externalFeedApproveControlsscope menuchevron.up.chevron.down8 ptcontrol.popupaticonFloorFeedInboxViewsnooze menumoon.zzzaction.snoozeFeedGitHubActionsbranch, checks, errorarrow.triangle.branch,checkmark.circle/xmark.circle,exclamationmark.trianglegit.branch,status.success/status.error,status.warningFeedGitHubActionsbuttonsarrow.up.right,arrow.down.to.line,sparkles,checkmark,exclamationmark.bubblelink.external,git.branch,agent.chat.new,action.confirm,action.reviewFeedAnswerControlsclosed linecheckmark,minus.circlestatus.success,action.removeFeedPromptSummarychecklist, origin, attachmentcircle,lock,doc.textlist.bullet.item,security.lock,file.textMenu labels (filter, scope, snooze) draw
NSImage.icontemplate images rather than the canvas-backedIcon. AppKit renders menu labels and keeps images but drops custom views, so a canvas could leave the control blank.Not converted: mark-all-read keeps
checkmark.circle.action.confirmmeans approve, and the pack has no mark-read icon yet.FeedTunables.sectionkeeps its symbol string becauseTunableSectiontakes one.Testing
Red commit a1b1873 adds
FeedRegistryIconTests; the fix follows. The red run failed to compile on base (FeedGlyphhas no membericonorside).terminal,integration,notificationandmachine.remote.iconRowSizeof its text size.scripts/verify-local.py --affected: feature-flags passed; package-groups fails on base'scmux.xcworkspacegrouping, as on earlier PRs in this lane.Changelog
Changed: Feed items, inbox controls and GitHub actions use the cmux icon set at the size of their text
Demo Video
Fleet builds of base (96f7421) and the fix (ba71143), on a capture mini (1x display), with the Feed opened from the Window menu. The mini has no Feed items, so the captures show the header and the empty state. The two runs came up in different appearances (light before, dark after).
Empty-state tray at 8x (before left, after right):
The first after build drew the tray at a 20 pt box. A pack drawing inks about two thirds of its box, so the tray was 14 px wide against the SF tray's 23. The empty states now use 32 and 44 pt boxes, and the tray inks 24 px wide.
Checklist
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
The Feed now draws item kind glyphs, inbox controls, and GitHub actions icons from the cmux icon registry instead of SF Symbols, with one semantic name per meaning at the row size of the text beside them.
.integration,.machineRemote,.automation, and.terminal; the glyph box isiconRowSizeof the text size.FeedIconLabelis a new reusable label;FeedRegistryIconTestscover the glyph-to-icon mapping and row sizing.Written for commit f443cc9. Summary will update on new commits.