Sidebar: an unnamed Cloud workspace reads as its machine, not "cmux"

Closed
TE
7d ago
+187-23

HOLD: Leo rejected the Cloud row depiction (2026-10-30); this naming is being folded into #28051's rework. Do not land.

What

Leo, 2026-10-29, on the Cloud rows at the bottom of the sidebar:

"why is there all this weird stuff at the bottom of the sidebar"
"the rendering gets borked there too :("
"a whole lot of this cloud stuff ought to get better..."

Every Cloud row was titled "cmux". A workspace nobody renamed takes its front tab's name (WorkspaceAutoName); an idle shell's name is its folder's last component (NewWorkspaceName.forTab), and a Cloud VM's shell idles at /home/cmux. So every machine's row read "cmux", the account's home folder, which says nothing about which machine or what work.

On another computer (SSH, Cloud) a label that is only its home folder's name is now no name: the row counts as unnamed, and an unnamed row of another computer takes that computer's name (dev-vm). A row titled by its computer no longer says the computer again on its second line (dev-vm · ~ under dev-vm reads ~); a status such as Paused stays (Paused · ~). A shell in a project folder keeps that folder's name, a tab named (or a chat titled) like the home folder keeps that name, a named workspace keeps its name, and this Mac's rows and the local Chief's are unchanged.

Measured

Unnamed Cloud workspace, idle shell, one-list sidebar, compact:

Casebase title / second linehead title / second line
shell at /home/cmux on dev-vmcmux / dev-vm · ~dev-vm / ~
same, machine pausedcmux / dev-vm · Paused · ~dev-vm / Paused · ~
shell at /home/cmux/appapp / dev-vm · ~/appapp / dev-vm · ~/app (unchanged)
workspace named deploydeploydeploy (unchanged)
this Mac, shell at ~leoleo (unchanged)

Captures

No capture: the change shows only with Cloud machines in the left sidebar, and a capture mini's app build has none (no fixture puts Cloud workspaces in that list; the cloud-sidebar-machines tour is the right sidebar). The captures are the real SidebarListView drawn offscreen on a fleet Mac with four Cloud machine sections, base and head (https://github.com/manaflow-ai/cmux/pull/28045#issuecomment-6517342259).

Before and after captures are in the comment linked above.

Tests

scripts/ci/package-test-lane.sh suite Packages/macOS/CmuxNext SidebarRemoteHomeTitleTests,SidebarRowPageBesideChatTests,SidebarRowTitleTests,ChiefWorkspaceRowsTests,SidebarTabLineTests,GroupHeaderTrailingTests,SidebarMachineMarkTests,SidebarLookContractTests through cmux-ci run --class light:

  • Red at 46892c40 (the test alone on base): SidebarRemoteHomeTitleTests fails (aCloudShellAtItsHomeReadsAsItsMachine, aRowTitledByItsMachineDoesNotRepeatIt); the other 7 suites pass.
  • Green at edf15e85: all 8 suites pass.
  • Review fix (a title that only starts a machine name holding the separator stripped that prefix: dev-vm on dev-vm · staging read staging): the label keeps the machine's name and status apart (SidebarMachineLabel) and drops the name only on an exact match. Suites SidebarRemoteHomeTitleTests,SidebarMachineMarkTests,SidebarRowPageBesideChatTests,SidebarRowTitleTests,ChiefWorkspaceRowsTests,SidebarTabLineTests,GroupHeaderTrailingTests,SidebarLookContractTests,SidebarNowLineTests,SidebarRowStatusTests,WorkspacesAsTabsTests,SidebarPullRequestBadgeTests,SidebarRowNoDoneTests: red at 946f1be9 (the new tests alone), aTitleThatStartsTheMachinesNameKeepsTheName fails on normal and expanded rows (staging · ~, staging, staging · Paused · ~, staging · Paused), the other 12 suites pass; green at 981dfebe, all 13 pass.
  • Review fix (any label equal to the home folder's name was dropped, so a tab the person named dev at /home/dev, or a chat titled dev, read as the machine): namesHome now drops it only when the row's face tab is an unnamed terminal with no agent. Same suites plus SidebarQuietUnnamedRowTests: red at 9f76e0a8 (the new test alone), aTabNamedLikeTheHomeFolderKeepsItsName fails for the named tab and the chat, the other 13 suites pass; green at 0549795c, all 14 pass; after the base merge, all 14 pass at cafad354.

Observed / Not run

  • Observed: the fleet red/green runs above.
  • Not run: a live Cloud VM in a dev build.

Risk

Normal. Row titles and the second line of other computers' unnamed rows only; this Mac and the local Chief are excluded and covered by ChiefWorkspaceRowsTests and thisMacsShellAtHomeIsUnchanged. Sidebar look note updated (plans/cmux-next/sidebar-owner.md).

Changelog

Fixed: an unnamed Cloud or SSH workspace is titled by its machine instead of its home folder's name ("cmux").

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

Fixes unnamed Cloud and SSH workspaces reading as their account's home folder ("cmux") in the sidebar instead of the machine they run on.

  • An unnamed workspace on another computer now takes that computer's name (e.g., dev-vm).
  • Base's removal of the normal second line (#28510) is kept; the machine name now appears only on an expanded row's meta line. A row titled by its machine drops the name there, keeping a status such as Paused; only an exact whole-name match drops, so dev-vm on a machine named dev-vm · staging keeps the name.
  • Only an idle shell's home folder counts as unnamed; a tab the person named, a chat titled the same word, and shells in project folders keep their names. This Mac's rows and the local Chief's are unchanged.