Skip to content

Let Cmd+Shift+/ open Help menu search (#21230) - #21362

Merged
teamleaderleo merged 2 commits into
mainfrom
agent-21230-help-search-shortcut-4bbf1990
Oct 18, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
agent-21230-help-search-shortcut-4bbf1990

Conversation

@austinywang

@austinywang austinywang commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #21230.

Summary

With a terminal focused, cmux sends every Command chord straight to the main menu and, when no menu item matches, types it into Ghostty. The macOS "Show Help menu" shortcut (Cmd+Shift+/ by default) matches no menu item, so Ghostty consumed it and AppKit never opened Help menu search.

Cmd+` already skips the direct-to-menu path for the same reason. This adds the same exemption for the System Settings "Show Help menu" shortcut (symbolic hot key 98), read the way the window-cycling shortcut is: a missing entry means the Cmd+Shift+/ default, a disabled entry turns the exemption off, and a remapped chord is followed. The shared predicate also covers the browser web view path.

Testing

  • SystemHelpMenuShortcutTests (CmuxBrowser package): resolving the System Settings entry, exact chord matching, and the routing regression. The test commit comes before the fix; helpMenuChordStaysWithAppKit fails without the exemption.
  • Not run locally: the nx-remote build host alias does not resolve on this machine, so the package tests run in hosted CI only.
  • Not dogfooded in a tagged build.

Changelog

  • Fixed: Cmd+Shift+/ opens the Help menu with its search field focused when a terminal or browser pane has focus.

🤖 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 #21230 so Cmd+Shift+/ (and any remapped "Show Help menu" shortcut) opens the macOS Help menu with search focused when a terminal or browser pane has focus.

Previously cmux sent every Command chord straight to the main menu and then typed it into the terminal, so AppKit never saw the chord. The new SystemHelpMenuShortcut class resolves the System Settings binding for "Show Help menu" (symbolic hot key 98) and exempts that chord from the direct-to-menu path, matching the existing window-cycling exemption. The shared predicate now covers both terminal and browser web view paths.

  • A missing System Settings entry falls back to the default Cmd+Shift+/; a disabled entry turns the exemption off, and a remapped chord is honored.
  • Tests cover resolution, exact chord matching, and the routing regression.

Written for commit 5572c3b. Summary will update on new commits.

View guided diff Turn on auto-fix

austinywang and others added 2 commits October 17, 2026 15:26
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The terminal path sent every Command chord straight to the main menu and,
on a miss, typed it into Ghostty, so the System Settings "Show Help menu"
shortcut never reached AppKit. Exempt that shortcut like window cycling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 18 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: b55b489b-2616-462a-8f03-9e1c1c812fed
📥 Commits

Reviewing files that changed from the base of the PR and between 6d7cbc1 and 5572c3b.

📒 Files selected for processing: 4
  • Packages/macOS/CmuxBrowser/Sources/CmuxBrowser/WebView/NSResponder+WebInspector.swift
  • Packages/macOS/CmuxBrowser/Sources/CmuxBrowser/WebView/SystemHelpMenuShortcut.swift
  • Packages/macOS/CmuxBrowser/Tests/CmuxBrowserTests/WebView/SystemHelpMenuShortcutTests.swift
  • Packages/macOS/CmuxBrowser/Tests/CmuxBrowserTests/WebView/SystemWindowCyclingShortcutTests.swift
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Passes: CI passes on 5572c3b5b4.

CI passes on 5572c3b5b4 (run 39075204888 attempt 2).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

CI fast guards passes on 5572c3b5b4 (https://github.com/manaflow-ai/cmux/actions/runs/39075204888). This covers only the fast guards, not CI: CI's result is the ci-status check, and the CI failure attribution comment names any failing test.

@github-actions

Copy link
Copy Markdown
Contributor

Dogfood tours of 5572c3b5

browser-notifications-tour at 5572c3b5: not run

skipped: CI built this head on a runner pool whose products the UI test Macs cannot load, and media never compiles one; gh workflow run pr-media.yml -f pr=&lt;n&gt; -f allow_compile=true does

Tours are picked by the paths globs in dogfood/scenarios/*.json; a Dogfood-tours: a, b line in the description picks them instead (none turns this off). Look at every frame before merging: a green tour only means no step failed.

@teamleaderleo
teamleaderleo merged commit 0f2c982 into main Oct 18, 2026
117 of 120 checks passed
@teamleaderleo
teamleaderleo deleted the agent-21230-help-search-shortcut-4bbf1990 branch October 18, 2026 01:29
@github-actions

Copy link
Copy Markdown
Contributor

Merge receipt for 5572c3b5b4: every check was green at merge (20 verified; 21 skipped by policy). Full suite runs on main after merge.

@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

These app-host tests newly fail in main's full suite at 9cf34b4297, after this pull request merged. They did not fail in the previous full-suite run at 29888bf983, and are not in scripts/ci/app-host-known-failures.json.

  • CloudBrowserProxyIntegrationTests/proxyCredentialsAreRequired() (changes code the suite names) job Update: reproduced on a rerun at the same commit (run)

Commits in the range: 29888bf...9cf34b4

Pull requests run only the suites their diff reaches, so main's full suite is where this shows first. If this pull request is the cause, please fix forward or revert; if it is not, say so here. This is an automated attribution and can be wrong, most often for a flaky test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cmd+Shift+/ does not focus the Help menu search

2 participants