Cloud sidebar: remove the unsupported Increase Disk machine action - #12163
Conversation
Regression test for #12156: a machine row's context menu offered an "Increase Disk" submenu whose targets fired a disk resize the product does not support end to end. Pins the exact verbs a ready machine offers, that none of them opens a submenu, and that Open Shell, Checkpoint, and Delete still reach their closures. Red until the submenu is removed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013BfSprZWdTSfqAyvZfvXok
The machine context menu offered an "Increase Disk" submenu (64, 128, 256 GiB) that launched `cmux vm resize`, but disk resize is not a supported product capability end to end yet, so the sidebar advertised a dead end (#12156). Drop the submenu and the UI-only `resizeDisk` closure in MachineRowActions. VMClient.resizeDisk and the `vm.resize` socket verb stay for the CLI/backend path; read-only disk stats and New Machine's initial disk profile are untouched. The three catalog keys the removed code used were never added to Localizable.xcstrings, so no localization entries change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013BfSprZWdTSfqAyvZfvXok
|
To use Codex here, create a Codex account and connect to github. |
|
All contributors have signed the CLA ✍️ ✅ |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (5)
💤 Files with no reviewable changes (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe Cloud machine UI no longer exposes disk resizing. The resize action is removed from machine row actions and command binding. New tests verify the remaining context-menu verbs and selected action wiring. ChangesCloud disk resize removal
Priority: ⬇️ Low — Defer this narrow Cloud sidebar cleanup because it only removes an unsupported disk-resize menu action while preserving backend paths and other machine actions. Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: Low Merge Risk: ⚪ Minimal · up to Cloud machine context menus no longer offer unsupported disk resizing, while supported machine actions remain available and covered. No current merge-blocking risk is identified. 🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 1 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
Brings in #12164, #11976 (semantic agent notification admission; the VM remote-workspace resolver moves out of CMUXCLI+VMTui.swift into VMRemoteWorkspaceResolver.swift), #12155, #12145, #12163 (main also removed the Increase Disk action), #12140. Conflicts resolved: - CLI/CMUXCLI+VMTui.swift: main relocated the resolver block this branch still carried; main's copy is a superset (unattributed-match handling, canonical-id preference), so the block is dropped in favour of the typealiases main left behind. No remaining old-style call sites. - cmuxTests/CmuxTuiSurfaceProviderTests.swift: main's VMRemoteWorkspaceResolver() call form; the unused RemoteRoutingCLI typealias goes with it, as on main. - Resources/Localizable.xcstrings: union of both sides' keys. - cmux.xcodeproj/project.pbxproj re-normalized (workflow-guard-tests had flagged the earlier auto-merge as not normalized). Claude-Session: https://claude.ai/code/session_01QBDetMeke87gUWzvok9LWr
…anaflow-ai#12163) * Cloud tree: cover the machine context menu's verb list Regression test for manaflow-ai#12156: a machine row's context menu offered an "Increase Disk" submenu whose targets fired a disk resize the product does not support end to end. Pins the exact verbs a ready machine offers, that none of them opens a submenu, and that Open Shell, Checkpoint, and Delete still reach their closures. Red until the submenu is removed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013BfSprZWdTSfqAyvZfvXok * Cloud sidebar: remove the unsupported Increase Disk machine action The machine context menu offered an "Increase Disk" submenu (64, 128, 256 GiB) that launched `cmux vm resize`, but disk resize is not a supported product capability end to end yet, so the sidebar advertised a dead end (manaflow-ai#12156). Drop the submenu and the UI-only `resizeDisk` closure in MachineRowActions. VMClient.resizeDisk and the `vm.resize` socket verb stay for the CLI/backend path; read-only disk stats and New Machine's initial disk profile are untouched. The three catalog keys the removed code used were never added to Localizable.xcstrings, so no localization entries change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013BfSprZWdTSfqAyvZfvXok --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Summary
resizeDiskclosure inMachineRowActionsand itscmux vm resizelauncher go with it, so no native affordance fires a disk resize.Left in place on purpose:
VMClient.resizeDiskand thevm.resizesocket verb (the backend/CLI path Fix Cloud VM creation, access, resizing, and routing #12026 exercises). This PR touches no backend API.Trade-off, stated rather than absorbed: the verb is deleted instead of hidden behind a capability bit. A
VMCapabilities.resizeDiskgate 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 toResources/Localizable.xcstringsand do not appear inweb/messages/*.jsonor 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.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)python3 scripts/normalize-pbxproj.py --check,./scripts/check-pbxproj.sh,./scripts/lint-pbxproj-test-wiring.shpass (the new test file is wired into thecmuxTeststarget).Demo Video
Review Trigger (Copy/Paste as PR comment)
Checklist
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.Testing
CloudTreeMachineMenuTests, which pins the exact verb list a ready machine offers and confirms Open Shell, Checkpoint, and Delete still reach their closures.Written for commit 3e2cd6b. Summary will update on new commits.
Summary by CodeRabbit
Removed Features
Tests