Skip to content

Show one next step for each pull request - #5011

Merged
brsbl merged 7 commits into
bb/git-status-states-thr_6ii952bx6ffrom
bb/pr-row-next-step-thr_6ii952bx6f
Oct 6, 2026
Merged

brsbl merged 7 commits into
bb/git-status-states-thr_6ii952bx6ffrom
bb/pr-row-next-step-thr_6ii952bx6f

Conversation

@brsbl

@brsbl brsbl commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

The pull request row combined five independent facts into one colored label:

  • lifecycle;
  • checks;
  • review;
  • mergeability;
  • merge automation.

That caused four problems:

  • Checks appeared twice. Failing checks were a red ✗ badge and red "Checks failing" text.
  • Some states had no label. Passing, missing and unknown checks showed nothing.
  • "Blocked" was unexplained. It covered three different GitHub causes, one of which ("behind main") the Git status row also reports.
  • Labels and colors mixed meanings. "Approved · Checks pending" combined review and checks. Amber meant both "waiting" and "good news" ("Auto-merge on", "Queued").

What changed

getPullRequestNextStep replaces getPullRequestAttentionDisplay.

  • One next step: the row names the single next step, in the server's existing priority order:
    • Checks failing
    • Changes requested
    • Conflicts with main
    • Behind main / Blocked by rules / Blocked by hooks
    • Checks running
    • Review requested / Review required
    • Queued to merge
    • Ready to merge
    • otherwise the checks state (Checks passing / No checks / Checks unknown)
  • Color only for action: red marks steps you must act on, and green marks the one positive step, "Ready to merge". Everything else is muted.
  • Checks in one place: in the Info panel, checks appear only in the label; the GitHub icon no longer carries a badge. The composer banner keeps its badge because it has no room for a label.
  • Checks icons: checks steps start with a state icon: ✓ passing, ✗ failing, a clock while running, an empty circle for no checks, and a question mark when unknown. "Checks running" shimmers.
  • Auto-merge: when auto-merge is on, a small ⚡ icon appears instead of replacing the label.
  • Same wording everywhere: the composer banner and the PR status pill tooltip use the same next step.

No API, CLI, SDK, or wire changes; the server's attention value is unchanged.

How you verified

The screenshots come from a local Ladle story that renders the production Branch, Merge base, Git status and Pull request rows, in light theme at 2×, with the same fixture for every state. The story is not part of this PR.

Before: f9a26ab (#5006, PR row unchanged at its head 6c9eb71) · After: 4919bdb (PR head) · Captured at 2×

PR state Before After
Open · ready to merge Before: Open · ready to merge After: Open · ready to merge
Open · checks passing Before: Open · checks passing After: Open · checks passing
Open · no checks Before: Open · no checks After: Open · no checks
Open · checks unknown Before: Open · checks unknown After: Open · checks unknown
Open · checks failing Before: Open · checks failing After: Open · checks failing
Open · checks pending Before: Open · checks pending After: Open · checks pending
Open · changes requested Before: Open · changes requested After: Open · changes requested
Open · review requested Before: Open · review requested After: Open · review requested
Open · conflicts Before: Open · conflicts After: Open · conflicts
Open · blocked Before: Open · blocked After: Open · blocked
Draft · checks passing Before: Draft · checks passing After: Draft · checks passing
Draft · checks failing Before: Draft · checks failing After: Draft · checks failing
Draft · no checks Before: Draft · no checks After: Draft · no checks
Draft · checks unknown Before: Draft · checks unknown After: Draft · checks unknown
Draft · checks pending Before: Draft · checks pending After: Draft · checks pending
Draft · changes requested Before: Draft · changes requested After: Draft · changes requested
Merged Before: Merged After: Merged
Closed Before: Closed After: Closed
  • Tests:
    • getPullRequestNextStep covers every attention state, the three blocked causes, review required vs requested, merged and closed, and keeps auto-merge out of the label.
    • The composer banner test now expects the next step plus the auto-merge icon.
  • QA: signed off by the user on the branch app.
  • Follow-ups (P2, not in this PR):
    • Decide whether open PRs without CI should show "No checks" as their next step.
    • Hide the ⚡ icon in a squeezed composer banner.
    • Add a render test for the Info panel PR row.
  • Remote CI: runs on the PR head. Tests, typecheck, and lint were not run locally.

BB-Thread: Enhance info panel to thread navigation
BB-Thread-ID: thr_6ii952bx6f

AGENT GENERATED

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@brsbl
brsbl added this pull request to stack #5012 October 6, 2026 09:02
@brsbl
brsbl force-pushed the bb/pr-row-next-step-thr_6ii952bx6f branch 3 times, most recently from e191f87 to c9b815c Compare October 6, 2026 11:17
brsbl and others added 7 commits October 6, 2026 04:34
The pull request row names the single next step with consistent wording:
checks, review, conflicts with the base, or why merging is blocked.
Red marks only steps that need action; everything else is neutral, and
Ready to merge uses foreground text. Checks no longer repeat as a badge
in the Info panel, and auto-merge shows as a small icon instead of
replacing the label. The composer banner and status pill use the same
next step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The composer banner no longer shows an extra status label just because
auto-merge is on, and link labels and the status pill title name the
lifecycle, next step, and auto-merge for assistive text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Checks passing, failing, running, no checks, and unknown lead with a
small state icon. Checks running shimmers like other in-progress work.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@brsbl
brsbl force-pushed the bb/pr-row-next-step-thr_6ii952bx6f branch from a44d26d to 4919bdb Compare October 6, 2026 11:35
@brsbl
brsbl merged commit ca9ac92 into main Oct 6, 2026
41 checks passed
@brsbl
brsbl deleted the bb/pr-row-next-step-thr_6ii952bx6f branch October 6, 2026 11:42
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.

1 participant