Cloud sidebar: remove the unsupported Increase Disk machine action
Summary
- What changed? The Cloud sidebar's machine context menu no longer shows the "Increase Disk" submenu (64 / 128 / 256 GiB targets). The UI-only
resizeDiskclosure inMachineRowActionsand itscmux vm resizelauncher go with it, so no native affordance fires a disk resize. - Why? Disk resize is not a supported product capability end to end yet (#12156). A menu item that exists only in the sidebar, with no backend contract behind it, is a discoverable dead end.
Left in place on purpose:
VMClient.resizeDiskand thevm.resizesocket verb (the backend/CLI path #12026 exercises). This PR touches no backend API.- Read-only CPU / memory / disk stats on machine rows.
- New Machine's initial memory/disk profile.
- Every other machine verb: Open Shell, New Workspace, Open Desktop, Open Full cmux-tui Client, Refresh, Rename, Copy IP Address, Status, Checkpoint, Fork, Delete, and Upgrade to Reconnect for expired free machines.
Trade-off, stated rather than absorbed: the verb is deleted instead of hidden behind a capability bit. A VMCapabilities.resizeDisk gate would have kept dead menu code alive behind a flag no backend sets, and this repo's rule is that a feature flag means a PostHog runtime flag. When disk resize ships end to end, the menu item can return alongside a backend-advertised capability, the way Checkpoint and Fork are gated today.
Localization audit: the three keys the removed code used (machines.menu.increaseDisk, machines.menu.increaseDiskTo, machines.operation.resizeDisk) were never added to Resources/Localizable.xcstrings and do not appear in web/messages/*.json or the docs, so nothing in any catalog changes. No new user-facing strings were introduced; the test's expected titles resolve through the same catalog keys the menu uses.
Testing
Two commits, per the regression policy: the first adds the failing test only, the second removes the affordance.
cmuxTests/CloudTreeMachineMenuTests.swiftbuilds the realCloudTreeOutlineView.Coordinator+CloudTreeContainerView, applies a ready Base machine (paid plan, full capabilities, private address, a 32 GiB disk reading) and askscontextMenu(forRow:)for the menu AppKit would show. It pins the exact verb list, asserts no item carries a submenu, then fires Open Shell, Checkpoint, and Delete throughNSApp.sendActionand checks each reached its closure.- Red run (test-only commit,
test-e2e.ymlon a hosted macOS runner,-only-testing:cmuxTests/CloudTreeMachineMenuTests): in progress, https://github.com/manaflow-ai/cmux/actions/runs/34225696231 (expected: fails on the "Increase Disk" item) - Green run (fix commit, same workflow and filter): in progress, https://github.com/manaflow-ai/cmux/actions/runs/34225880959 (expected: passes)
python3 scripts/normalize-pbxproj.py --check,./scripts/check-pbxproj.sh,./scripts/lint-pbxproj-test-wiring.shpass (the new test file is wired into thecmuxTeststarget).- Tagged dev build: queued on the fleet behind the shared build lock; result to follow
Demo Video
- Video URL or attachment: to follow once the tagged build runs (a machine row must exist on the dev account to right-click)
Review Trigger (Copy/Paste as PR comment)
@codex review
@coderabbitai review
@greptile-apps review
@cubic-dev-ai review
Checklist
- I tested the change locally
- I added or updated tests for behavior changes
- I updated docs/changelog if needed
- I requested bot reviews after my latest commit (copy/paste block above or equivalent)
- All code review bot comments are resolved
- All human review comments are resolved
Closes #12156
🤖 Generated with Claude Code
https://claude.ai/code/session_013BfSprZWdTSfqAyvZfvXok
Summary by cubic
Removes the unsupported "Increase Disk" submenu from the Cloud sidebar's machine context menu. The menu previously offered 64/128/256 GiB resize targets that fired cmux vm resize, but disk resize isn't a supported product capability yet, so the item was a dead end (#12156).
Left in place
VMClient.resizeDiskand thevm.resizesocket verb, which the CLI/backend path uses.- Read-only disk stats and New Machine's initial disk profile.
Testing
- Adds
CloudTreeMachineMenuTests, which pins the exact verb list a ready machine offers and confirms Open Shell, Checkpoint, and Delete still reach their closures. - No localization entries change because the removed keys were never in any catalog.
Summary by CodeRabbit
-
Removed Features
- Removed the Increase Disk option from cloud machine context menus.
- Removed disk-resizing actions from the Cloud Machines panel.
-
Tests
- Added coverage confirming supported machine actions remain available and functional.
- Added verification that disk-resizing options no longer appear.