From 242325dd9a8b490d4afec90e0a9437af3440297f Mon Sep 17 00:00:00 2001 From: Test Date: Thu, 25 Jun 2026 23:54:33 +0000 Subject: [PATCH 1/3] fix(app): stabilize titlebar tab alignment --- .../e2e/regression/titlebar-layout.spec.ts | 32 +++++++++++++++++++ packages/app/src/components/titlebar.tsx | 4 +-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 packages/app/e2e/regression/titlebar-layout.spec.ts diff --git a/packages/app/e2e/regression/titlebar-layout.spec.ts b/packages/app/e2e/regression/titlebar-layout.spec.ts new file mode 100644 index 000000000000..b60071d2aae6 --- /dev/null +++ b/packages/app/e2e/regression/titlebar-layout.spec.ts @@ -0,0 +1,32 @@ +import { expect, test } from "@playwright/test" +import { fixture } from "../performance/timeline/session-timeline-stress.fixture" +import { + installStressSessionTabs, + installTimelineSettings, + mockStressTimeline, + stressSessionHref, +} from "../performance/timeline/timeline-test-helpers" + +test("keeps tabs vertically stable when session actions mount", async ({ page }) => { + await mockStressTimeline(page) + await installTimelineSettings(page) + await installStressSessionTabs(page) + await page.goto("/") + + const href = stressSessionHref(fixture.sourceID) + const tab = page.locator(`[data-slot="titlebar-tabs"] a[href="${href}"]`).first() + await expect(tab).toBeVisible() + const top = () => + tab.evaluate((element) => { + const item = element.closest("[data-titlebar-tab]") + if (!(item instanceof HTMLElement)) throw new Error("Titlebar tab item not found") + return item.getBoundingClientRect().top + }) + const before = await top() + + await tab.click() + await expect(page).toHaveURL(href) + await expect(page.getByText(fixture.expected.sourceTitle).last()).toBeVisible() + + await expect.poll(top).toBe(before) +}) diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index 3e06787cead8..b83a7f201b7f 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -417,8 +417,8 @@ export function Titlebar(props: { update?: TitlebarUpdate }) {
Date: Fri, 26 Jun 2026 00:19:07 +0000 Subject: [PATCH 2/3] test(app): remove titlebar regression --- .../e2e/regression/titlebar-layout.spec.ts | 32 ------------------- 1 file changed, 32 deletions(-) delete mode 100644 packages/app/e2e/regression/titlebar-layout.spec.ts diff --git a/packages/app/e2e/regression/titlebar-layout.spec.ts b/packages/app/e2e/regression/titlebar-layout.spec.ts deleted file mode 100644 index b60071d2aae6..000000000000 --- a/packages/app/e2e/regression/titlebar-layout.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { expect, test } from "@playwright/test" -import { fixture } from "../performance/timeline/session-timeline-stress.fixture" -import { - installStressSessionTabs, - installTimelineSettings, - mockStressTimeline, - stressSessionHref, -} from "../performance/timeline/timeline-test-helpers" - -test("keeps tabs vertically stable when session actions mount", async ({ page }) => { - await mockStressTimeline(page) - await installTimelineSettings(page) - await installStressSessionTabs(page) - await page.goto("/") - - const href = stressSessionHref(fixture.sourceID) - const tab = page.locator(`[data-slot="titlebar-tabs"] a[href="${href}"]`).first() - await expect(tab).toBeVisible() - const top = () => - tab.evaluate((element) => { - const item = element.closest("[data-titlebar-tab]") - if (!(item instanceof HTMLElement)) throw new Error("Titlebar tab item not found") - return item.getBoundingClientRect().top - }) - const before = await top() - - await tab.click() - await expect(page).toHaveURL(href) - await expect(page.getByText(fixture.expected.sourceTitle).last()).toBeVisible() - - await expect.poll(top).toBe(before) -}) From 60222cd4004bc336ce82591d3d99920908cbe02c Mon Sep 17 00:00:00 2001 From: Test Date: Fri, 26 Jun 2026 02:00:04 +0000 Subject: [PATCH 3/3] fix(ui): normalize tooltip trigger layout --- packages/app/src/components/titlebar.tsx | 4 ++-- packages/ui/src/v2/components/tooltip-v2.css | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index b83a7f201b7f..3e06787cead8 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -417,8 +417,8 @@ export function Titlebar(props: { update?: TitlebarUpdate }) {