From 6027566141632b1ba6504dbabeb3f8a602577ae0 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Mon, 5 Oct 2026 19:11:22 +1000 Subject: [PATCH 1/4] fix(app): clip side panel tabs at the + button --- packages/ui/src/navigation/tabs/tabs.css | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/packages/ui/src/navigation/tabs/tabs.css b/packages/ui/src/navigation/tabs/tabs.css index 04bb6230ed3d..5581e60061a4 100644 --- a/packages/ui/src/navigation/tabs/tabs.css +++ b/packages/ui/src/navigation/tabs/tabs.css @@ -600,27 +600,14 @@ flex: 1 1 0; min-width: 0; width: auto; + padding-inline-end: 0; border-bottom: none; } +/* The end gap lives inside the sticky "+" box. Sticky offsets respect the strip's padding, so padding there + would leave a gap after the "+" where scrolled tabs show through. */ :root body #review-panel [data-component="tabs"] .session-review-v2-tabs-bar [data-slot="tabs-list"] > .sticky { - padding-inline-end: 0; - - [data-component="icon-button-v2"] { - position: relative; - - &::after { - content: ""; - position: absolute; - inset-inline-start: 100%; - top: 50%; - transform: translateY(-50%); - width: 20px; - height: 28px; - background-color: var(--v2-background-bg-base); - pointer-events: none; - } - } + padding-inline-end: 12px; } :root From 6d8164aa9c394a8755ed623344f01abc1d5e9759 Mon Sep 17 00:00:00 2001 From: LukeParkerDev <10430890+Hona@users.noreply.github.com> Date: Tue, 6 Oct 2026 07:49:24 +1000 Subject: [PATCH 2/4] fix(app): align side panel tabs with the review toggle --- packages/app/e2e/regression/review.spec.ts | 19 ++++++++++++------- .../app/src/runtime/extension/side-region.tsx | 10 +++++++--- packages/ui/src/navigation/tabs/tabs.css | 1 + 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/packages/app/e2e/regression/review.spec.ts b/packages/app/e2e/regression/review.spec.ts index b2f35e1d1863..125d71c2d516 100644 --- a/packages/app/e2e/regression/review.spec.ts +++ b/packages/app/e2e/regression/review.spec.ts @@ -890,13 +890,18 @@ for (const direction of ["ltr", "rtl"] as const) { ) }) .toBe(true) - await expect - .poll(async () => { - const box = await panel.locator('[data-slot="session-side-panel-actions"]').boundingBox() - - return box ? box.y + box.height / 2 : undefined - }) - .toBe(closed.y + closed.height / 2) + for (const control of [ + panel.locator('[data-slot="session-side-panel-actions"]'), + panel.getByRole("button", { name: "Open file", exact: true }), + ]) { + await expect + .poll(async () => { + const box = await control.boundingBox() + + return box ? box.y + box.height / 2 : undefined + }) + .toBe(closed.y + closed.height / 2) + } await toggle.press("Enter") await expect(toggle).toHaveAttribute("aria-expanded", "false") await expect(toggle).toBeFocused() diff --git a/packages/app/src/runtime/extension/side-region.tsx b/packages/app/src/runtime/extension/side-region.tsx index 62d1ecb378ed..7c80efa42001 100644 --- a/packages/app/src/runtime/extension/side-region.tsx +++ b/packages/app/src/runtime/extension/side-region.tsx @@ -146,7 +146,12 @@ export function SideRegion(props: { props.region.select(value) }} > -