Skip to content

feat(web): open the pull request in the right panel in the browser with mod+shift+o - #33886

Draft
KinanLak wants to merge 1 commit into
pingdotgg:mainfrom
KinanLak:feat/pr-open-in-browser-shortcut
Draft

KinanLak wants to merge 1 commit into
pingdotgg:mainfrom
KinanLak:feat/pr-open-in-browser-shortcut

Conversation

@KinanLak

Copy link
Copy Markdown
Contributor

Problem

With a pull request open in the right panel or on the Pull requests page, opening it in the browser means going through the … menu → "Open on GitHub". The panel already has shortcuts to copy the PR link (mod+shift+c) and number (mod+shift+k), but none to open it.

Change

  • New pullRequest.openOnHost keybinding command, bound by default to mod+shift+o with when: "pullRequestPanelActive && !terminalFocus". It calls the same shell.openExternal(url) as the menu item, and the menu item now shows the shortcut. It is rebindable in Settings as "Pull Request: Open in Browser".
  • mod+shift+o is already a second default for chat.new, so the new binding only applies while a PR is the active right panel surface. The PR panel resolves its shortcuts with pullRequestPanelActive: true; nothing else sets that variable, so mod+shift+o still starts a new chat everywhere else.
  • Existing keybindings.json files already contain chat.new on mod+shift+o. The server backfills new defaults before persisted rules, so that persisted rule would always win. The panel therefore resolves against only the pullRequest.* bindings (pullRequestPanelKeybindings), so its own shortcuts win while it is active. Without this, the shortcut only works on fresh installs.
  • User docs: the "Copy pull request references" section now mentions the shortcut.

Scope and approval

This is a new shortcut, so it needs maintainer approval. Proposal: #33882. The PR stays a draft until the direction is approved, and I'm happy to change the default key or leave it unbound.

Verification

  • apps/web/src/keybindings.test.ts: the existing "older server bindings" case now also checks that, with a persisted config lacking the new command, mod+shift+o resolves to pullRequest.openOnHost in the PR panel and to chat.new elsewhere. The panel assertion fails without the pullRequest.* filter.
  • Web dev server, Pull requests page with fix(server): MCP tool descriptions state the real full-access gate #28799 open in the right panel:
    • Ctrl+Shift+O called window.open("https://github.com/pingdotgg/t3code/pull/28799") and did not create a chat.
    • With the right panel closed, Ctrl+Shift+O created a new draft thread as before.
  • Not checked: the desktop app (it uses the same shell.openExternal bridge as the existing menu item) and the right panel in the chat view (same PullRequestDetailPanel component and listener).
  • vp run check:changed passes.
Before After
Before: Open on GitHub has no shortcut After: Open on GitHub shows Ctrl+Shift+O

Made with Claude Opus 5.5 in Claude Code, running inside T3 Code.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Nov 10, 2026

This branch has not been deployed

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

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant