From 49cb7b08da36358adc5146a52109b18f1fff63d0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 3 Oct 2026 23:43:05 +0000 Subject: [PATCH 1/2] Initial plan From f86f611205fa09eb8042c7210a16f842d3bc9c8b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 3 Oct 2026 23:48:30 +0000 Subject: [PATCH 2/2] Fix Playwright overflow audit for scrollers Co-authored-by: ehsanking <1883051+ehsanking@users.noreply.github.com> --- e2e/studio.spec.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/e2e/studio.spec.ts b/e2e/studio.spec.ts index a699725..c792d71 100644 --- a/e2e/studio.spec.ts +++ b/e2e/studio.spec.ts @@ -220,12 +220,14 @@ const audit = (page: Page, label: string) => page.evaluate((label) => { if (r.width < 4 || r.height < 4) continue; const cs = getComputedStyle(el); if (cs.position === 'fixed' || cs.visibility === 'hidden') continue; - let p = el.parentElement, box: DOMRect | null = null; + let p = el.parentElement, box: DOMRect | null = null, scrollable = false; while (p && p !== document.body) { const ps = getComputedStyle(p); - if (/(hidden|auto|scroll|clip)/.test(ps.overflowX) || ps.position === 'fixed') { box = p.getBoundingClientRect(); break; } + if (/(auto|scroll)/.test(ps.overflowX)) { scrollable = true; break; } + if (/(hidden|clip)/.test(ps.overflowX) || ps.position === 'fixed') { box = p.getBoundingClientRect(); break; } p = p.parentElement; } + if (scrollable) continue; const left = box ? box.left : 0, right = box ? box.right : vw; if (r.left < left - 2 || r.right > right + 2) { const txt = (el.innerText || el.getAttribute('aria-label') || el.tagName).trim().replace(/\s+/g, ' ').slice(0, 40);