Skip to content

cmux NEXT Chief: a Chief with no avatar wears the chosen pet character, not the 🫡 disc - #22776

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
cmux/chief-mascot-avatar
Oct 21, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
cmux/chief-mascot-avatar

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Leo: "the avatar, why is it still the circle? ... the nine avatars, we need to be able to just swap them out, just how ChatGPT does."

Change

  • A Chief whose profile sets no avatar used to show 🫡 on a grey disc. It now shows the pet character home.chiefPetMascot picks (orb by default, one of the Chief Dock's nine pixel characters) in the Home header, the empty conversation's hero, the Home list row and New Message's suggestions.
  • Each character has a square avatar version (ChiefMascot…Avatar.png): the whole character on a transparent square with room around it. The round avatar clip those views already use shows all of it, with no disc behind it. The vendored sidebar and header drawing are unchanged.
  • Picking a character (the pet's menu → Chief Settings, the Chief Settings popover's Pet Character, Settings > Chief Pet from [CMUX Next] Chief pet: a Chief Pet settings page like ChatGPT's Mini & Pets #21822) redraws the header and the list at once: both observe the setting. A read for a character picked before the latest one is dropped.
  • The header's read moves to HomeChiefAvatars.headerAvatar (CmuxNextHomeEngine), and the character lookup and change callback to ChiefPetSettingsRows (CmuxNextChiefPetWiring), so CmuxNextApp shrinks (SW14 size cap). ChiefPetMascot is now a nonisolated value type.
  • A Chief with its own picture or text avatar keeps it.

How the nine look in a round clip (generated from the new files):

avatars

Changelog

Changed: A Chief with no avatar of its own shows the chosen Chief pet character instead of 🫡 on a grey disc, and a new character shows everywhere at once.

Observed / Not run

  • Observed: scripts/cmux-next/prepush-gate.py reports no new violations. I rendered the nine avatar PNGs in a round clip (the sheet above).
  • Not run locally (no Mac builds on this machine): compiling, and ChiefDefaultAvatarTests (the default is orb's avatar; each character resolves to its own bundled file; an unknown id falls back to orb; the header wears the character only when the Chief has no avatar of its own). CI runs them.
  • Not dogfooded; native views have no gallery entry.

Agent session: cosmic-gray

🤖 Generated with Claude Code

…et character, not the 🫡 disc

The Home header, the first-run hero, the Home list row and New Message showed 🫡 on a grey
disc for a Chief whose profile sets no avatar. They now show the pet character
home.chiefPetMascot picks (orb by default), whole on a transparent square so the round
avatar clip shows all of it and no disc. Picking another character redraws them live.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Oct 21, 2026
@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 473e194: 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=pr22776 -f ref=cmux/chief-mascot-avatar -f platform=macos -f backend_mode=local

Pending: CI is running on 473e1940e9 (run); the result below was for bcecc75e30 and no longer applies.

Last result: Not verified: macOS jobs did not run: compile and app tests were skipped on bcecc75e30; ci-status is green without them.

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

…ssed character

Review of #22776:
- The header's avatar read, with the character as its fallback, moves to
  HomeChiefAvatars.headerAvatar (CmuxNextHomeEngine), and the avatar file lookup and the
  change callback to ChiefPetSettingsRows (CmuxNextChiefPetWiring): CmuxNextApp shrinks.
- ChiefPetMascot is a nonisolated value type, so it is usable off the main actor.
- The header follows the character from its first read (not only from the second), and a
  read for a character picked before the latest one is dropped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo
teamleaderleo marked this pull request as ready for review October 21, 2026 02:22
@teamleaderleo
teamleaderleo merged commit 47e09bf into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the cmux/chief-mascot-avatar branch October 21, 2026 02:45
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant