Repository navigation
Fix narrow pane tab close UX - #15957
Conversation
GitHub only dispatches workflows that exist on the default branch; the content that runs comes from the dispatched ref. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (8)
✨ Finishing Touches📝 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 |
|
All contributors have signed the CLA ✍️ ✅ |
|
Automatic catch-up couldn't merge Label |
|
Dogfood build of cmux DEV pr-15957-aa99953d.app The link opens this exact commit in the cmux dev menu bar app; the page waits until the build is ready. Builds run only while this PR has the Covers |
CI failure attributionCI stopped on
Matched log linesNot re-run automatically: Written by |
|
Review: Fresh subagent review of 01c2162 with Bonsplit 1b673629f300e3ec0b13fe5cef53f299bcabeaf5 found no concrete findings. It verified the shared MiddleClickCapture injection, close-setting and pinned-tab guards, narrow overflow layout, and warning routing. |
Merge-main commit by scripts/merge-main.sh. Merged by scripts/merge-main.sh: origin/main at 57fd5ac, the newest commit with green CI fast guards (21 newer skipped). Resolved conflicts: - Resources/Localizable.xcstrings: xcstrings key-level union Merge-main-previous-head: 01c2162 Merge-main-base: 57fd5ac
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Review: Latest subagent review of 58d1509 found no concrete pane-tab-close regressions or Bonsplit conflicts. |
|
recheck |
|
Merge receipt for
Labeled |
5e83d80 Keep agent mode controls reachable and respect disabled choices (manaflow-ai#15971) 24f1ee0 fix(codex): arm the transcript monitor's watch before it reads (manaflow-ai#15913) 17f370e fix: pass the action reference for untrusted setting tab-bar buttons (manaflow-ai#16223) 5e33b84 Agent messages that never land in a human's draft: cmux agent message (manaflow-ai#15279) 522ba05 fix(sidebar): replay agent runtime changes for late observers (manaflow-ai#15829) 3016cf3 Fix browser state helper package convention (manaflow-ai#16205) b1fd787 Preserve agent Stop completion before session teardown (manaflow-ai#16122) 7ba9740 Prevent duplicate pool VMs after lost create responses (manaflow-ai#15946) e6e6982 Keep Cloud agent chat recoverable when browser storage fails (manaflow-ai#15968) d8f62dc fix(ci): production-secret jobs run only from protected refs (manaflow-ai#16171) 8aa9b5c fix(agents): isolate OpenCode workspace auto-naming (manaflow-ai#16210) 7bce471 Add cmux agent hibernate and wake (manaflow-ai#15308) 90d2fb9 fix(agent-chat): surface a rejected send on the transcript branch (manaflow-ai#16216) d01e8ce fix: list setting actions in Actions discovery so main compiles (manaflow-ai#16222) b3ca418 Serialize Pi Agent Chat startup before prompts (manaflow-ai#16121) 75650a8 fix: end CodeRouter sessions on team removal; fresh auth for presence mutations (manaflow-ai#16169) 1831681 fix(web): refuse to publish the Cloud VM daemon port (manaflow-ai#16144) 258c2ee Let remote workspaces use cmux agent message through the SSH relay (manaflow-ai#15863) 3b196d0 Merge pull request manaflow-ai#16160 from manaflow-ai/ci/failfast f02bdec Fix browser state restoration ordering (manaflow-ai#16204) 2fdf7d0 fix(coderouter): pin the OpenCode provider address per request (manaflow-ai#16165) aaebb18 Fix Cmd+I notifications popover anchor (manaflow-ai#14582) ef3e658 Preserve valid Claude hook sessions after decode drift (manaflow-ai#16196) a0660ce test: avoid fixed cancellation delay 6e997e2 Fix narrow pane tab close UX (manaflow-ai#15957) a018381 ci: run process tree regression in guard preflight 723bbe6 fix(ci): bound artifact fallback at workflow call sites 7cbc73e test: require caller bounded artifact downloads 6120003 fix(ci): retain artifact download action c801205 test: keep artifact fallback action wired c1f0509 docs: record overstay evidence and bounded transfers e91d51b fix(ci): bound artifact download fallback a2679ce test(ci): require bounded artifact fallback transfer ef447e2 ci: bound process tree reaping after kill 8f342fc test: bound process tree reaping 5d7af99 test: update cancellation guard expectations 984bf0c Merge remote-tracking branch 'mf/main' into ci/failfast 2c47268 Merge commit '57fd5ac4df7641c05eb73df76fe3554a2a604264' into ci/failfast 83998ac ci: skip cancelled iOS status rollup bd5692e ci: stop leaking cancelled test processes 55a1003 ci: reap detached processes on cancellation 0351680 test: bound cancellation cleanup for stubborn CI children bfe79f1 test: cover CI cancellation process cleanup f20c7d3 ci: cancel useless downstream work fd0a123 test: require job-scoped CI fail-fast cancellation # Conflicts: # .github/workflows/ci-guards.yml # .github/workflows/ci-macos.yml # .github/workflows/ci-web.yml # .github/workflows/ci.yml # .github/workflows/cmux-tui-artifacts.yml # .github/workflows/ios-app-store.yml # .github/workflows/ios-appstore-upload.yml # .github/workflows/ios-testflight.yml # .github/workflows/iroh-release-gate.yml # .github/workflows/nightly.yml # .github/workflows/release.yml # .github/workflows/repair-nightly-appcast-content-types.yml # .github/workflows/repair-v0-64-25-helper-rpaths.yml # .github/workflows/test-e2e.yml # .github/workflows/test-ios.yml # .github/workflows/update-homebrew.yml
What changed
Narrow pane tab bars now keep tabs readable and closable:
Verification
python3 scripts/verify-local.py: 16/16 selected checks passed../scripts/sync-test-wiring --check: passed.python3 scripts/localization_catalog.py check: 10 catalogs, 9 locales, 0 parity errors.swift test --filter TabBarLayoutFeedbackTestsin the Bonsplit submodule: 5 tests passed.01c216216d5fd480d6f7bb60906581eee4846fa7ran on the managed fleet (tagpr-15957-pane-tab-close-v18). The selected XCUITest passed every tour step; the wrapper was marked failed only because its app-host socket-listener evidence check did not recognize the successful test host output.upstream/mainand the Bonsplit pointer was merged forward. Additional current-head fleet submissions hit worker volume cleanup or disk-image attach infrastructure failures before compilation.Media
Before:
After: narrow-pane tab bar with a persistent minimum tab width, hover close affordance, and collapsed actions:
The fleet dogfood run was 36757777040; its selected UI test passed, with only the wrapper evidence check failing. The merged PR head after catch-up is
aa99953d93f3ebc534c214769fb8d14f6276e077.Changelog
Fixed: Narrow pane tabs retain hover close, middle-click close warnings, context-menu close, and an overflow action menu.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Fixes tab closing across narrow panes and closes a safety gap where a close that would kill a live foreground process could be confirmed or silently executed without an explicit opt-in.
Tab close UX
Workspace,DockSplitStore, and the remote tmux mirror.allowCloseTabsclose permissions and pinned-tab restrictions.Active-process close guard
surface.close,workspace.close,window.close,tab.action, the mobile workspace list, and the legacy v1 commands acceptforceto bypass the confirmation.Written for commit aa99953. Summary will update on new commits.
Summary by CodeRabbit
--forceto close commands for windows, workspaces, tabs, and surfaces. Without it, closing items with active processes prompts for confirmation and explains how to retry.