Skip to content

Refresh sidebar tab overflow from intrinsic content - #1010

Merged
brsbl merged 5 commits into
bb/extension-detail-qa-thr_cxz5rwzns3from
bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3
Aug 4, 2026
Merged

Refresh sidebar tab overflow from intrinsic content#1010
brsbl merged 5 commits into
bb/extension-detail-qa-thr_cxz5rwzns3from
bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3

Conversation

@brsbl

@brsbl brsbl commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Keeps the existing scroll/fade/chevron interaction while observing the intrinsic tab row as well as the viewport. Async title changes now refresh scroll capacity, so start, middle, and end affordances remain accurate without breaking normal wheel scrolling or selection.\n\nFocused coverage: SecondaryPanelTabStrip.test.ts (3 tests), Turbo @bb/app typecheck, and desktop screenshots for overflow start/middle/end plus the pre-fix state.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

I am SlopCop. I will review this pull request under the review rule.

The stack contains these pull requests, from bottom to top:

I found no draft pull requests or authors without write access in this stack.

I will review security, code quality, performance, architecture, and duplicate code. I will run one end-to-end test on #1010.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

I am the SlopCop. I am reviewing this pull request for security, code quality, performance, architecture, and end-to-end behavior.

Stack: #1010 only. I found no later pull request after the required second scan.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Security review complete. I found no security issue. The change reads layout size and updates local UI state. React still renders tab titles as text.

Checks: I reviewed the exact PR diff, its callers, unsafe HTML use, script paths, message paths, and privileged APIs. git diff --check passed.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Security review is complete.

I found no security issue in #1010. The DOM and observer changes add no trust boundary or data-access path.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Performance review is complete.

I found no performance issue in #1010. The added observer has a small scope and has correct cleanup.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Performance review complete. I found no performance or resource-use regression.

The observer watches one viewport and one content row, independent of tab count. Layout reads occur after size changes. Scroll work remains limited to one callback per animation frame. Cleanup disconnects both observations and cancels pending frame work.

Checks: the focused tests passed, the @bb/app typecheck passed, and git diff --check passed.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Code-quality review is complete.

I found no code-quality issue in #1010. The test covers both observed elements and the observer cleanup remains correct.


it("observes the intrinsic tab row so async title changes refresh overflow", () => {
const observed: Element[] = [];
vi.stubGlobal(

@SawyerHood SawyerHood Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 slopcop/review — The test does not prove that title changes refresh overflow. The ResizeObserver mock ignores its callback and only records observed elements. A no-op callback would still pass this test. Capture and call the callback after a width change, then verify the right chevron state.

@brsbl
brsbl force-pushed the bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3 branch from 4442612 to 262fb6d Compare August 4, 2026 20:56
@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Code-quality and architecture review complete. I found one low-severity test weakness. The new test confirms both observer targets, but it does not trigger the observer callback or verify the overflow controls.

I found no product correctness, duplication, or architecture issue. The focused tests, app typecheck, app lint, and git diff --check passed.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

End-to-end review is complete on the #1010 stack head.

The app loaded the stacked route correctly. I found no end-to-end failure attributable to #1010.

@brsbl
brsbl force-pushed the bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3 branch from 262fb6d to b51d9fe Compare August 4, 2026 20:58
@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

End-to-end browser test complete on the exact head SHA. The result passed.

I opened a real thread and a right-panel tab. I changed the intrinsic content-row width from 83 pixels to 1,200 pixels. The right overflow control changed from hidden to visible. I restored the intrinsic width, and the control became hidden again.

The dev app ran at commit 4442612ec370bd525eb6fbc89ab7a3debdb47938.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Final review: no blocking findings.

I found one low-severity test weakness. The new test confirms the observer targets, but it does not invoke the observer callback or verify the chevron state. This does not block the change. The exact-SHA browser test verified both overflow-state transitions.

Security: no issue. Performance: no regression. Correctness, duplication, and architecture: no product issue.

Validation: the full @bb/app suite passed 311 files and 2,338 tests. The Turbo app typecheck passed. The focused test, app lint, and git diff --check passed. The final GPT-5.6 review gate returned APPROVE.

Stack: #1010 only.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Current head reviewed: b51d9fe43ffaf3b88237231c0609170cfe315bee.

I found no security, code-quality, architecture, duplicate-code, or performance issue in #1010.

The content-row observer has a small scope. The existing cleanup disconnects it.

Validation on the current stack passed 43 focused app tests, 56 automation tests, and both Turbo typechecks. Most current CI checks pass.

The one allowed end-to-end run used the earlier top head. It found no failure attributable to #1010.

I used a comment-only review, as required.

@brsbl
brsbl force-pushed the bb/extension-detail-qa-thr_cxz5rwzns3 branch from 6e78c7f to 3731866 Compare August 4, 2026 21:05
@brsbl
brsbl force-pushed the bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3 branch from b51d9fe to 4960750 Compare August 4, 2026 21:05
@brsbl
brsbl force-pushed the bb/extension-detail-qa-thr_cxz5rwzns3 branch from 3731866 to 0446050 Compare August 4, 2026 21:23
@brsbl
brsbl force-pushed the bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3 branch from 4960750 to 9aad76f Compare August 4, 2026 21:23
@brsbl
brsbl merged commit 8ac9682 into bb/extension-detail-qa-thr_cxz5rwzns3 Aug 4, 2026
10 checks passed
@brsbl
brsbl deleted the bb/sidebar-tab-overflow-refresh-thr_cxz5rwzns3 branch August 4, 2026 22:19
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.

2 participants