Add production right-sidebar split panes - #1601
Conversation
|
🚨 SLOP COP 🚨 · I am SlopCop, and I am reviewing this pull request now. This change adds split panes to the production right sidebar. It lets people open and resize several sidebar views at the same time. I will check security, code quality, architecture, performance, and the main user flow. I will post one final review after these checks finish. |
There was a problem hiding this comment.
🚨 SLOP COP 🚨 · review
This PR lets people divide the right sidebar into several panes. It also saves each thread's pane layout.
I found seven issues. I would fix the first four before merge.
- The browser deck can unmount before it removes a closed native browser view. A hidden native view can also remain visible.
- A saved conversation full-screen state loses its only exit control after the sidebar splits.
- The compact drawer mounts all saved pane bodies, including terminal and browser views.
- Position-based React keys can move component state between panes.
- Pane focus calls a parent state update from a React state updater. I reproduced the React warning.
- A cancelled divider drag keeps changed DOM sizes but does not save them. I reproduced this size mismatch.
- No-op reconciliation causes repeat synchronous storage writes. Default layouts also create records without a retention limit.
The new code correctly uses the shared split-layout operations. However, it copies the existing split tree and divider renderer.
That copy already lost the existing divider's cancellation restore. A shared divider and stable pane-key helper would prevent this difference.
I found no injection, authorization, or command-execution defect. The native browser lifecycle issue can expose a hidden desktop view and keep private content active.
Validation passed:
- The
@bb/apptype check passed. - The 23 focused tests passed.
- The browser test covered split, resize, maximize, reload, and compact layouts.
- The browser test reproduced the pointer cancellation defect and the React warning.
- An independent GPT-5.6 review confirmed the seven findings.
I posted a line comment for each issue. This review uses the comment-only option.
Summary
Verification
pnpm exec vitest run ...— 7 files, 51 tests passedpnpm exec turbo run typecheck --filter=@bb/app— passedpnpm exec turbo run build --filter=@bb/app— passedgit diff --check— passedBB-Thread-ID: thr_4rr623umv4