Skip to content

fix(web): pull request surface offers the checkout's PR - #8273

Closed
StiensWout wants to merge 3 commits into
pingdotgg:mainfrom
StiensWout:t3code/pr-surface-follows-checkout
Closed

fix(web): pull request surface offers the checkout's PR#8273
StiensWout wants to merge 3 commits into
pingdotgg:mainfrom
StiensWout:t3code/pr-surface-follows-checkout

Conversation

@StiensWout

@StiensWout StiensWout commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Problem

On a thread whose checkout has an open pull request, the git menu shows View PR and opens that PR in the right panel, yet the right panel's own Pull request card is disabled with "No pull request on this branch yet." Two entry points to the same panel disagree about whether a PR exists.

The card only offered the thread's own PR, which requires the recorded thread branch to match the checkout. On a shared (non-worktree) checkout that recorded branch deliberately stays strict (#4460), so the common flow of an agent running git checkout -b and gh pr create mid-thread leaves the thread without an attributed PR while the checkout clearly has one.

Closes #8265

Solution

The card now falls back to the checkout's PR, opened against the project repository with the same gate View PR already uses. The thread's own PR still wins when it has one, and thread attribution (sidebar badge, composer footer, auto-settle) is unchanged. The menu's disabled reason now reads "This branch has no pull request yet." to match.

Before

Reporter's screenshot: View PR enabled, Pull request card disabled.

View PR enabled while the Pull request card says no PR

After

The card is enabled whenever View PR would open a PR in the panel, and opens the same one.

Verification

  • vp run typecheck for apps/web
  • vp lint and vp fmt --check on the two changed files
  • vp test run apps/web/src/components/RightPanelTabs.test.tsx

Made with Claude Fable 5 in T3 Code.


Note

Low Risk
UI-only fallback for opening an existing checkout PR in the right panel; thread PR resolution and attribution logic are unchanged.

Overview
Aligns the right panel Pull request card with the git menu View PR when a thread has no attributed PR but the checkout has an open one.

ChatView now derives checkoutPr from git status (open PR only, and only when there is no linked thread PR) and enables the surface when either the thread PR or that checkout PR exists. Opening the surface prefers the thread PR via openThreadPullRequest; otherwise it opens the checkout PR with openProjectPullRequest, matching View PR.

RightPanelTabs updates the disabled copy to "This branch has no pull request yet." so it is not thread-specific when the fallback applies. Thread attribution elsewhere is unchanged.

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

Note

Offer checkout PR on Pull Request surface when thread has no PR

  • Derives checkoutPr from gitStatusQuery in ChatViewContent so the PR surface shows an open checkout PR even when the thread has no linked PR
  • Opens the thread PR when one exists; otherwise opens the project's checkout PR via openProjectPullRequest
  • pullRequestSurfaceAvailable is now true when either the thread has a PR and threadRepository is present, or the checkout has an open PR and activeProjectRepository is present
  • Updates the disabled-reason text in RightPanelTabs.tsx from "This thread's branch has no pull request yet." to "This branch has no pull request yet."
  • Behavioral Change: the PR surface now activates for branches with an open checkout PR regardless of thread PR state, which may surface PRs that were previously hidden

Macroscope summarized 21d2dc7.

The right panel's Pull request card only offered the thread's own PR, which
requires the recorded thread branch to match the checkout. On a shared
checkout that branch stays strict, so an agent that branches and opens a PR
mid-thread left the card saying "No pull request on this branch yet" while
the git menu's View PR opened that same PR in the panel.

Fall back to the checkout's PR with the same gate View PR uses.

Closes pingdotgg#8265

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 90cf1fdc-04e3-4abf-b575-60eda8390fc3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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 github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Aug 26, 2026

@cursor cursor Bot 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.

Reviewed by Cursor Bugbot for commit 856c3cd. Configure here.

Comment thread apps/web/src/components/ChatView.tsx
Mirrors the git menu's View PR gate so a merged or closed PR on the
checkout does not enable the card while the menu offers Create PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@macroscopeapp macroscopeapp Bot 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.

One finding on the new checkout-PR fallback for the pull-request surface. Details inline.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/ChatView.tsx Outdated
A linked PR is the thread's own even while its detail is loading, so the
surface card must not open the checkout's PR in that window.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@macroscopeapp

macroscopeapp Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 21d2dc7

Macroscope's review found this PR approvable — This is a narrowly scoped web bug fix that makes the Pull request surface match the existing git-menu behavior for open checkout PRs. Existing thread PR handling remains prioritized, while the second file only updates explanatory copy.

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

@StiensWout StiensWout closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: PR sidebar doesn't recognize an active pull request that exists for the branch

1 participant