You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(web): the Fix action on a thread details PR row stays inside the card - #31115
A watched pull request with a checks count can push the Fix button past the thread details card's right edge. Closes#31113.
The checks control can shrink. When the completed/total count and the word "checks" do not fit, the whole word drops out while the count remains visible. Fix keeps its label during preparation, replaces its arrow with the existing spinner, and remains disabled until preparation finishes. Existing actions and the option to send the fix to the current thread are preserved.
Validation:
vp run check:changed passes after merging current main.
Checked the real web client with visual fixtures at the card's narrow width and with more room. The count stays visible, "checks" disappears only when needed, and Fix stays inside the card.
A pending-state fixture confirms that Fix is disabled, keeps its label, shows the loader, and removes the arrow. No real provider turn was started.
…card
On a watched pull request whose checks show a count, the row's metadata
line (number, checks count, watch icon, trailing action) is wider than
the 280px thread details card. Every control on it is shrink-0 and
nowrap, so the card clipped the Fix action at its right edge.
The checks count control now shrinks and its label truncates, so the
trailing action always stays fully visible.
Closespingdotgg#31113
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Macroscope's review found this PR approvable — The checks label can shrink and truncate so the Fix action stays inside the thread PR card. This is a localized presentation change with existing actions and check details unchanged.
You can add or adjust custom eligibility rules. Learn more.
It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.
No actionable comments were generated in the recent review.
Walkthrough
The thread details PR row and checks popover now accommodate constrained widths. The Fix action keeps its label and shows a spinner during handoff preparation. Checks counts remain together, while the checks label can wrap and the failed-count label can truncate.
The checks control gains min-w-0 shrink. During handoff preparation, the Fix action keeps its label and displays an accessible spinner. The checks count stays together, its label can wrap, and the failed-count label can truncate.
This is a small UI layout fix that keeps the Fix action inside the thread details card at narrow widths. No actionable merge-blocking risk is identified.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title names the Fix action on the thread details PR row and says it stays inside the card. The raw summary shows the change: the checks popover control gets min-w-0 shrink, and the failed-count la…
Linked Issues check
[#31113] requires the Fix action to stay inside the thread details card when checks show a count. At the reviewed head, ThreadDetailsPrRow.tsx gives the checks count control min-w-0 shrink through…
Out of Scope Changes check
The whole-PR diff (merge base e0d0fb3 to head 363807b) changes ThreadDetailsPrRow.tsx and PullRequestChecksPopover.tsx. The count-variant class changes and the Fix pending-state spinner both targe…
Description check
The description explains the problem (the Fix button overflowing the thread details card when a watched PR shows a checks count), the change (the checks control can shrink, the word "checks" drops out…
Full details: Title check
Explanation
The title names the Fix action on the thread details PR row and says it stays inside the card. The raw summary shows the change: the checks popover control gets min-w-0 shrink, and the failed-count label truncates. That keeps the trailing action visible. The title is specific and matches the main change. It also follows the conventional commit form the template recommends.
Full details: Linked Issues check
Explanation
[#31113] requires the Fix action to stay inside the thread details card when checks show a count. At the reviewed head, ThreadDetailsPrRow.tsx gives the checks count control min-w-0 shrink through ThreadDetailsControl, so it can shrink. PullRequestChecksPopover.tsx (variant count) clips the second line of the count text, truncates the failed label, and keeps N/M on one line. The Fix pending label is replaced by Fix with an aria-label spinner, which removes the longer 'Preparing...' text that the issue says clipped the row further. These changes address the overflow in the issue. The issue has no automated-test requirement. The PR description still says the change is two class lists with no behavior change, but the reviewed head is broader. That description is stale and does not affect the requirement assessment. Visual layout at 280px was not confirmed by a run in this review; the assessment relies on the diff and the prior PR evidence.
Full details: Out of Scope Changes check
Explanation
The whole-PR diff (merge base e0d0fb3 to head 363807b) changes ThreadDetailsPrRow.tsx and PullRequestChecksPopover.tsx. The count-variant class changes and the Fix pending-state spinner both target the width overflow on the same row, so each has a direct connection to [#31113]. The Spinner import supports the spinner. The Fix pending label change is a visible behavior change, but it is tied to the 'Preparing...' clipping named in the issue. Other checks badge variants are not changed by these edits. The PR description understates the scope by saying it changes two class lists with no behavior. That mismatch is a documentation issue, not unrelated code.
Full details: Description check
Explanation
The description explains the problem (the Fix button overflowing the thread details card when a watched PR shows a checks count), the change (the checks control can shrink, the word "checks" drops out first, and Fix keeps its label and shows a spinner while preparing), and the validation steps. It links issue #31113 and states that the fix preserves existing actions. It follows the template's Problem, Change, Scope, and Verification sections. Gaps: the Verification section does not give explicit before/after screenshots for the UI change. It links an external reproduction image from a fork rather than uploading evidence to GitHub. It also has no agent/model attribution in the required form, though it does name the models used. The core required information is present, so the check passes.
Finishing Touches
Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
Merged current main (298cb24) into the branch with a merge commit. No conflicts.
The earlier Test Web failure was AddEnvironmentDialog.browser.test.tsx > clears the form after dismissing it on SSH, a click timeout in a file this PR does not touch. It passed 3/3 on a fresh run, and main is green.
vp run check:changed passes: format, lint, knip, typecheck, tests, react compiler.
Real ThreadDetailsPrRow with the app stylesheet, rendered at the card's 280px width with 16/17 checks, one failure and the watch icon:
Before (main): Fix is clipped at the card edge.
After (this PR): the count truncates and Fix stays inside the card.
The automated pipeline stopped on this pull request and will not merge it:
in the real app the problem is still there, and the rework changed nothing:
No code change this round; the branch stays at 3ba7811. This round's item lists the proof steps (16/17 checks, capture Fix, click Fix, capture Preparing...) but does not say what went wrong at this head, and the PR comments hold no failure detail for 3ba7811. I checked it against the code by rendering the real ThreadDetailsPrRow with the app stylesheet (index.css) in the browser test runner, at the card's real geometry: a 280px card with the section's px-2, so a 264px row whose contents must end at 262px. Setup: PR https://git.cafe/pingdotgg/t3code/pulls/31115 with 15 passing, 1 failed and 1 pending check, the watch icon shown, and the handoff mocked to pending for the Preparing state. On main's classes the bug reproduces: Fix ends at 286.5px and Preparing... at 339px, past the card edge at 272px. At head both states end at 262px: Fix with the count shown as '16/17 …', and Preparing... with the count text hidden and the checks icon kept, as last round intended. A 3x screenshot of both head states shows every control inside the card. The rule for this round was to fix what the code confirms and explain anything it doesn't. The measured head is correct, so I made no change rather than add code to satisfy an item with no observed failure. If the proof run still sees a failure at this head, it needs to report what it saw (for example an element's right edge, or which control overflows) so it can be reproduced. AI-assisted; verified with the tests and tools listed above.
@juliusmarminge@maria-rcks Thanks both for picking this up and for the extra commit that hides the count while the action is pending.
From the pipeline's last note, the current head (3ba7811) measures correctly at the card's real 280px width: Fix and "Preparing..." both end at 262px, inside the card, while main still overflows to 286.5px and 339px. All checks are green and the branch merges cleanly.
If the proof run saw something different, I'm happy to dig in. Just let me know which control it reported overflowing and I'll reproduce it in the desktop app. Otherwise, is this ready to merge?
One more data point on the pipeline's "still there in the real app" note: this is the bug as it looks today in the shipped desktop app, without this PR. On each row with a failing check, the red Fix button is cut off at the card's right edge (#10752 and #10759 here). I blurred the PR titles because they're from a private repo.
On this PR's head (3ba7811), the same rows keep Fix inside the card, as the pipeline's own measurements show (262px against a 264px row).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bugfixFix PR opened by an issue lead; enters the PR looppr:gate-failedA land gate failedsize:S10-29 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.
4 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A watched pull request with a checks count can push the Fix button past the thread details card's right edge. Closes #31113.
The checks control can shrink. When the completed/total count and the word "checks" do not fit, the whole word drops out while the count remains visible. Fix keeps its label during preparation, replaces its arrow with the existing spinner, and remains disabled until preparation finishes. Existing actions and the option to send the fix to the current thread are preserved.
Validation:
vp run check:changedpasses after merging currentmain.Original shipped-app reproduction.
Original fix by Claude Opus 5.5 in Claude Code. Follow-up by GPT 6.1 Sol in the Codex harness through T3 Code.