fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(web): open PR toast actions in app - #9006

Merged
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app
Sep 2, 2026
Merged

fix(web): open PR toast actions in app#9006
maria-rcks merged 3 commits into
pingdotgg:mainfrom
eimexdev:fix/pr-toast-in-app

Conversation

@eimexdev

@eimexdeveimexdev commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What Changed

  • Route plain View PR clicks from Git action success toasts to the existing in-app pull request panel.
  • Preserve Command/Control-click and unsupported-link fallback behavior that opens the system browser.

Why

The success toast bypassed the in-app viewer by calling shell.openExternal directly. This made creating a pull request or pushing to an existing one unexpectedly leave T3 Code.

Closes#9004.

UI Changes

No visual styling or layout changed. Screenshots are not applicable; only the existing button's destination changes.

Validation

  • vp test run apps/web/src/lib/openPullRequestLink.test.ts — 28 passed
  • vp fmt --check apps/web/src/components/GitActionsControl.tsx
  • vp lint --report-unused-disable-directives apps/web/src/components/GitActionsControl.tsx
  • vp run typecheck in apps/web — blocked by existing unrelated origin/main errors; none reference the changed component

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes — not applicable; no visual change
  • I included a video for animation/interaction changes — not applicable; no animation or timing change

Model: GPT-5.6-sol
Harness: Codex in T3 Code


Note

Low Risk
Navigation-only change in Git toast CTAs; no auth, data, or API surface changes.

Overview
Git action success toasts with an open PR CTA no longer call shell.openExternal directly. They use useOpenPrLink from openPullRequestLink, aligned with other PR links in the app.

A normal click opens the in-app change request panel when possible; Command/Control-click and unsupported cases still fall back to the system browser. The toast button handler now receives the click MouseEvent so that modifier behavior works. The inline readLocalApi() guard in the toast path is dropped because the hook covers it.

Reviewed by Cursor Bugbot for commit 7847f88. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Open PR toast action in app via useOpenPrLink

Replaces the direct api.shell.openExternal(url) call in the 'open_pr' toast CTA with openPrLink(event, url) from the useOpenPrLink hook in GitActionsControl.tsx. The explicit readLocalApi() null guard is removed since the hook handles that.

Macroscope summarized 7847f88.

@chatgpt-codex-connector

chatgpt-codex-connectorBot commented Sep 1, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

ReviewStatusCommitReview trigger
📝 Code ReviewCompleted2026-09-02T01:35:37.205721Z7847f88New commits
🔒 Security ReviewCompleted2026-09-01T05:19:04.691004Z6b3b720PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:6b3b720091

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated

@cursorcursorBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6b3b720. Configure here.

Comment threadapps/web/src/components/GitActionsControl.tsx Outdated
@macroscopeapp

macroscopeappBot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at bdc048d

Macroscope's review found this PR approvable — This is a focused one-file fix that routes PR toast actions through the existing in-app link handler while preserving modifier-click and external fallback behavior. Its runtime impact is limited to the toast navigation path, with no defaults, schemas, infrastructure, or sensitive packages changed.

You can add or adjust custom eligibility rules. Learn more.

@github-actionsgithub-actionsBot added size:S 10-29 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Sep 1, 2026
@maria-rcks
maria-rcks merged commit 43bafd4 into pingdotgg:mainSep 2, 2026
25 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: “View PR” in Git action success toasts always opens the system browser

2 participants

@eimexdev@maria-rcks