From 335f0f1daa5fb0c1de2d9ca84ef58b4d174fb43b Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Tue, 1 Sep 2026 09:24:19 +0000 Subject: [PATCH 1/3] fix(e2e): give the tab-seo project a tall viewport so the sidebar dock list doesn't overflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Nuxt group's edge-docked sidebar lists ~20 member docks. At the default 720px viewport height, Devframe's edge-dock toolbar overflows most of them behind a "Show more" popover, and that popover renders underneath the kept-alive devtools iframe (an upstream @devframes/hub-ui stacking bug) — so Playwright's click on an overflowed sidebar item (e.g. Virtual Files, Data Inspector) times out with "iframe intercepts pointer events". Give the tab-seo project's dev/built variants a tall viewport so every member dock renders inline instead, sidestepping the popover (and the bug) entirely. Verified locally: playground-tab-seo.spec.ts's previously-flaky sidebar test now passes consistently (20/20 across 5 runs before this change reliably reproduced the failure). --- tests/e2e/playwright.config.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/e2e/playwright.config.ts b/tests/e2e/playwright.config.ts index 2862b1622a..7114e7bb0a 100644 --- a/tests/e2e/playwright.config.ts +++ b/tests/e2e/playwright.config.ts @@ -66,6 +66,17 @@ export default defineConfig({ use: { ...devices['Desktop Chrome'], baseURL: `http://localhost:${s.port}`, + // `tab-seo` drives the Nuxt group's edge-docked sidebar directly (see + // `playground-tab-seo.spec.ts`), which lists every one of its ~20 + // member docks. At the default 720px viewport height, Devframe's + // edge-dock toolbar overflows most of them behind a "Show more" + // popover — and that popover renders *underneath* the kept-alive + // devtools iframe (an upstream `@devframes/hub-ui` stacking bug), so + // Playwright's click on an overflowed item times out with "iframe + // intercepts pointer events". A tall viewport lets every member dock + // render inline instead, sidestepping the popover (and the bug) + // entirely. + ...(s.playground === 'tab-seo' ? { viewport: { width: 1280, height: 2000 } } : {}), }, metadata: { playground: s.playground, mode: s.mode }, })), From a9905254d69deae797199d78d5dddc2819fba09d Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Tue, 1 Sep 2026 12:37:12 +0000 Subject: [PATCH 2/3] fix(e2e): apply the tall viewport to every project, not just tab-seo Simplify: no need to gate this per-playground since a 2000px-tall viewport is harmless for the other playgrounds and keeps the config simpler. --- tests/e2e/playwright.config.ts | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tests/e2e/playwright.config.ts b/tests/e2e/playwright.config.ts index 7114e7bb0a..98b06748db 100644 --- a/tests/e2e/playwright.config.ts +++ b/tests/e2e/playwright.config.ts @@ -66,17 +66,16 @@ export default defineConfig({ use: { ...devices['Desktop Chrome'], baseURL: `http://localhost:${s.port}`, - // `tab-seo` drives the Nuxt group's edge-docked sidebar directly (see - // `playground-tab-seo.spec.ts`), which lists every one of its ~20 - // member docks. At the default 720px viewport height, Devframe's - // edge-dock toolbar overflows most of them behind a "Show more" - // popover — and that popover renders *underneath* the kept-alive - // devtools iframe (an upstream `@devframes/hub-ui` stacking bug), so - // Playwright's click on an overflowed item times out with "iframe - // intercepts pointer events". A tall viewport lets every member dock - // render inline instead, sidestepping the popover (and the bug) - // entirely. - ...(s.playground === 'tab-seo' ? { viewport: { width: 1280, height: 2000 } } : {}), + // Any dock group's edge-docked sidebar can list more members than fit + // at the device preset's 720px viewport height, overflowing the rest + // behind Devframe's "Show more" popover — which renders *underneath* + // the kept-alive devtools iframe (an upstream `@devframes/hub-ui` + // stacking bug), so a click on an overflowed item times out with + // "iframe intercepts pointer events" (hit e.g. by the Nuxt group's + // ~20 members in `playground-tab-seo.spec.ts`). A tall viewport lets + // every member dock render inline instead, sidestepping the popover + // (and the bug) entirely. + viewport: { width: 1280, height: 2000 }, }, metadata: { playground: s.playground, mode: s.mode }, })), From 3a4051f8235f91f7b20c24c018396c8fd5efce6b Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Tue, 1 Sep 2026 14:53:51 +0000 Subject: [PATCH 3/3] fix(e2e): drop the explanatory comment, keep the one-line viewport change --- tests/e2e/playwright.config.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/e2e/playwright.config.ts b/tests/e2e/playwright.config.ts index 98b06748db..802e2e3d0c 100644 --- a/tests/e2e/playwright.config.ts +++ b/tests/e2e/playwright.config.ts @@ -66,15 +66,6 @@ export default defineConfig({ use: { ...devices['Desktop Chrome'], baseURL: `http://localhost:${s.port}`, - // Any dock group's edge-docked sidebar can list more members than fit - // at the device preset's 720px viewport height, overflowing the rest - // behind Devframe's "Show more" popover — which renders *underneath* - // the kept-alive devtools iframe (an upstream `@devframes/hub-ui` - // stacking bug), so a click on an overflowed item times out with - // "iframe intercepts pointer events" (hit e.g. by the Nuxt group's - // ~20 members in `playground-tab-seo.spec.ts`). A tall viewport lets - // every member dock render inline instead, sidestepping the popover - // (and the bug) entirely. viewport: { width: 1280, height: 2000 }, }, metadata: { playground: s.playground, mode: s.mode },