Right sidebar tab splits: shared header and resizing - #1925
Open
brsbl wants to merge 1 commit into
Open
Conversation
brsbl
marked this pull request as ready for review
August 19, 2026 15:46
|
🚨 SLOP COP 🚨 · I am SlopCop, and I am reviewing this pull request now. I will check security, code quality, performance, architecture, and the main UI flow. |
There was a problem hiding this comment.
🚨 SLOP COP 🚨 · review
Plain-English summary
This PR gives split right-sidebar panes one shared tab bar. It limits new tab splits to left and right. It also tries to keep each visible terminal mounted across panes.
Findings
I found three defects and left two inline comments.
- High: A visible terminal in an unfocused pane can lose its tab after a disconnect. The new retained-ID list does not reach the global tab synchronization paths.
- Medium: Stored vertical layouts remain valid. Their horizontal shared header no longer matches their vertically stacked bodies.
- Low: Each terminal pane creates a new retained-ID array. This restarts disconnected-session cleanup after unrelated parent renders.
I found no security issue.
The architecture scan found duplicate panel and file-preview renderer paths. They increase maintenance cost, but they do not create a separate defect in this PR.
Verification
- The
@bb/appTurbo type check passed. - All 75 focused tests passed.
git diff --checkpassed.- The browser test created a two-pane horizontal split and verified the shared header.
- The browser test restored a vertical version-1 layout. It measured horizontal header groups and vertically stacked bodies.
I used a GPT-5.6 review gate. It confirmed all three findings.
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 19:54
fa0517a to
2f8ccdb
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 21:02
2f8ccdb to
0016d00
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 21:29
0016d00 to
5cf8865
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 22:10
5cf8865 to
9337d6c
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 22:52
9337d6c to
2e9f736
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 22:53
2e9f736 to
61efd71
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 23:02
61efd71 to
ef1c470
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 23:24
ef1c470 to
fcca0b0
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 19, 2026 23:47
fcca0b0 to
3f472c3
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
2 times, most recently
from
August 20, 2026 00:35
a11dceb to
3406da4
Compare
brsbl
force-pushed
the
bb/sidebar-split-polish-thr_7mjwczzstc
branch
from
August 20, 2026 02:09
3406da4 to
c519423
Compare
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.
What was wrong
The production split foundation treated adjacent sidebar tab groups too much like full page panes: its chrome and separators competed with the existing right-panel header, top/bottom placement complicated the shared header, tab headers could visually drift from their bodies while resizing, and overflow lacked a clear containing strip.
What changed
How you verified
pnpm exec turbo run test --filter=@bb/app --force -- src/components/secondary-panel/SidebarSplitContainer.test.tsx src/components/secondary-panel/sidebarSplitLayout.test.ts src/components/secondary-panel/ThreadSecondaryPanel.collapseControl.test.tsx src/components/secondary-panel/SecondaryPanelTabStrip.test.ts src/views/thread-detail/SplitThreadArea.test.tsx src/components/thread/terminal/useThreadTerminalController.test.ts— 97 tests passed.pnpm exec turbo run typecheck --filter=@bb/app— passed.pnpm exec turbo run lint --filter=@bb/app --force— passed with 147 pre-existing warnings and no errors.git diff --check origin/bb/sidebar-split-panes-thr_4rr623umv4...HEAD— passed.3406da4a6c6f2cecf3f2fb9eb2d82ec150b6a2d2confirmed a single unchanged header; Browser and Side chat side by side; active-pane targeting; synchronized header/body geometry during inner drag; independent outer resizing; preserved full-screen behavior; and matching split seams in light and dark themes.Before — parent foundation
3ad3d0f6c36b0b9b581360d0ca56d1c342b2b1a3Viewport 1440 × 900 at DPR 2; image 2880 × 1800.
After — final child
3406da4a6c6f2cecf3f2fb9eb2d82ec150b6a2d2(light)Viewport 1440 × 900 at DPR 2; image 2880 × 1800.
After — final child
3406da4a6c6f2cecf3f2fb9eb2d82ec150b6a2d2(dark)Viewport 1440 × 900 at DPR 2; image 2880 × 1800.
Fixes #1841
BB-Thread-ID: thr_7mjwczzstc