From d24cb13320e21ff9dea50f929e33ebc72b7211ea Mon Sep 17 00:00:00 2001 From: ClawSweeper Date: Sun, 16 Aug 2026 20:57:15 -0700 Subject: [PATCH] fix(ui): inset limited access badge from chat edge (#125012) --- ui/src/e2e/device-scope-upgrade.e2e.test.ts | 15 +++++++++++++++ ui/src/styles/chat/sidebar.css | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/ui/src/e2e/device-scope-upgrade.e2e.test.ts b/ui/src/e2e/device-scope-upgrade.e2e.test.ts index cd18712f6935..be7e6a5a0231 100644 --- a/ui/src/e2e/device-scope-upgrade.e2e.test.ts +++ b/ui/src/e2e/device-scope-upgrade.e2e.test.ts @@ -241,6 +241,21 @@ describeControlUiE2e("Control UI live device scope upgrade", () => { const statusChip = page.getByRole("button", { name: "Show limited access details" }); await statusChip.waitFor(); expect(await statusChip.getAttribute("aria-expanded")).toBe("false"); + await waitForLayoutSettled(page, ".content, .scope-upgrade-chip-row"); + const chipInset = await statusChip.evaluate((chip) => { + const content = document.querySelector(".content"); + if (!content) { + throw new Error("Missing content around limited-access status chip"); + } + const contentBox = content.getBoundingClientRect(); + const chipBox = chip.getBoundingClientRect(); + return { + right: contentBox.right - chipBox.right, + top: chipBox.top - contentBox.top, + }; + }); + await captureProof(page, "collapsed.png"); + expect(chipInset).toEqual({ right: 20, top: 8 }); expect(await page.getByText("This browser has limited access.", { exact: true }).count()).toBe( 0, ); diff --git a/ui/src/styles/chat/sidebar.css b/ui/src/styles/chat/sidebar.css index dc9317aef09a..65310411658a 100644 --- a/ui/src/styles/chat/sidebar.css +++ b/ui/src/styles/chat/sidebar.css @@ -28,6 +28,10 @@ padding-right: 0; } + .content--chat:has(.chat-workbench) .scope-upgrade-chip-row { + padding: 8px 20px 0; + } + .content--chat:has(.chat-workbench) .chat { border-top-right-radius: 0; border-bottom-right-radius: 0;