project chooser: each machine's projects carry its own colored computer, not one globe

Merged
TE
5d ago
+114-6

Leo-ask: ask-a0c0c18e34

Leo, 2026-10-20, on the project and machine pickers:

Like we can put symbols, you know, we can put like little tags, little like if you want to add your own icon for your machine, sure, but we can have them be delineated rather than just this is a computer symbol. This is a computer symbol. This is an SSH symbol. And repeated ad nauseum. It's like, it's just so stupid.

Since then the composer's computer chip, the environment list, Session Info's Environment line and New Tab's ambient machines all gained each machine's identity color (machineColor.ts). The project chooser was the one place left that marked every remote project with the same gray globe. Each project on another machine now carries that machine's computer in its own color, next to its name. This Mac's projects still carry no tag, matching the rule that only another machine gets a color.

  • ProjectChooser.tsx: GlobeIcon → MachineIcon (the chip's computer shape, colored with machineColor(host) for a peer).
  • Gallery agent-pane.project-chooser / machine-tags: one local project plus projects on three machines.
  • webviews/test/project-chooser-machine-tag.test.tsx: two machines get two different colors, and the local project has no tag.

Spec: design/environment-picker.md (machine color rule); no design change beyond swapping the glyph.

Changelog

Changed: The project picker marks each machine's projects with that machine's own colored computer instead of one shared globe.

Observed / Not run

Ran: the new test and the webview check through cmux-ci, results in a comment below. Not run: a native build (webview-only change).

Agent session: agent session

šŸ¤– 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

Makes the project chooser mark each remote project with that machine's own colored computer icon, matching the composer chip and environment list, instead of repeating one gray globe on every row.

  • Projects on other machines now show the machine's computer glyph colored via machineColor(host), alongside the machine name; this Mac's projects carry no tag.
  • Adds a gallery scenario with projects across three machines and a test covering per-machine colors and the untagged local project.
  • Webview-only change; no native build needed.