Repository navigation
Show each git fact once in the Info panel - #5006
Merged
Merged
Conversation
Uncommitted, up to date, ahead/behind, and unknown states each get one 12px icon and a short phrase in the Info panel's Git status row. Untracked-only trees read as uncommitted, matching bb's commit, which stages every change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Git status row now states only how the branch compares to its merge base (even, ahead, behind, or diverged), with a warning when the workspace cannot be read. Changes shows Uncommitted and Committed files together as two groups instead of behind a dropdown, so each fact appears once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each section has its own heading count, line totals, and collapse state, and Committed changes follows Commits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erge base Thread properties split into a place group (Parent, Project, Environment, Directory, Archived) and a branch group (Branch, Merge base, Pull request). Merge base reads "main · 6 ahead" when the daemon returns a merge base, Directory is muted, and Git status appears only when the workspace cannot be read. Pull request status text uses the success text token instead of the brighter fill color. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merge base goes back to only the picker. Git status shows how the branch compares to the merge base the daemon reported, and hides when no merge base was returned. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
brsbl
added this pull request to stack #5012
October 6, 2026 09:02
The top section is one property group again, with dividers only between sections. Commits lists the branch's commits and then the files those commits changed, so committed files no longer need their own section. 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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
brsbl
added a commit
that referenced
this pull request
Oct 6, 2026
## 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 | 
| 
|
| Open · checks passing | 
| 
|
| Open · no checks | 
| 
|
| Open · checks unknown | 
| 
|
| Open · checks failing | 
| 
|
| Open · checks pending | 
| 
|
| Open · changes requested | 
| 
|
| Open · review requested | 
| 
|
| Open · conflicts | 
| 
|
| Open · blocked | 
| 
|
| Draft · checks passing | 
| 
|
| Draft · checks failing | 
| 
|
| Draft · no checks | 
| 
|
| Draft · checks unknown | 
| 
|
| Draft · checks pending | 
| 
|
| Draft · changes requested | 
| 
|
| Merged | 
| 
|
| 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](https://brsbl.getbb.app/projects/proj_khiw2za95v/threads/thr_6ii952bx6f)
BB-Thread-ID: thr_6ii952bx6f
> AGENT GENERATED
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Human comments
What was wrong
The Info panel's Git status row mixed several facts into one label. "Dirty", "Untracked", "Clean", "Up to date", "Ahead", "Behind" and "Diverged" each answered two questions at once: are there uncommitted edits, and how does the branch compare to main. Two of those facts also showed elsewhere: ahead commits in Commits and uncommitted files in Changes. Changes also hid one of its two file lists behind an Uncommitted / Committed dropdown.
What changed
Each fact about the thread's code now appears once.
infoPanel.collapsedSectionspreference usesuncommittedChangesin place ofchanges. The ids are documented indocs/configuration.mdand the bb-cli settings reference. A collapsed Changes section shows Uncommitted files expanded once.ChangedFilesBucketMenu,InfoMenuTrigger). The composer banner and commit dialog sharegetGitStatusDisplay, which is unchanged.No API, CLI, SDK, or wire changes.
How you verified
Screenshots come from the branch web app (1440×900 and a 390×844 mobile view) and the
right-panel/Info/Row/Git statusLadle story. Both revisions use the same fixture: a subthread 6 commits ahead ofmainwith 32 committed files, captured with and without one uncommitted edit.Before:
df913a7(merge base) · After:6c9eb71(PR head) · Captured at 2×formatBranchComparisonfor even, ahead, behind and diverged. They also check that the dirty-row render shows only the branch comparison, and that the comparison is empty when the daemon reports no merge base.QA: signed off by the user on the branch app.
Follow-ups (P2, not in this PR):
leading-5, so the 13px rows still use 20px line height. Drop the unused line-height override, or use the token's line height.BB-Thread: Enhance info panel to thread navigation
BB-Thread-ID: thr_6ii952bx6f
🤖 Generated with Claude Code