From 0007ace064c0f54ce2d6bb776285acb27c990660 Mon Sep 17 00:00:00 2001 From: Sameh Khamis Date: Sun, 13 Sep 2026 09:13:29 -0700 Subject: [PATCH] Capture vessel cards after first-run chrome and camera settling --- scripts/qa-vessel-cards.mjs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/qa-vessel-cards.mjs b/scripts/qa-vessel-cards.mjs index 51978292e..510c24669 100644 --- a/scripts/qa-vessel-cards.mjs +++ b/scripts/qa-vessel-cards.mjs @@ -253,6 +253,10 @@ async function main() { const page = await browser.newPage(); await page.setViewport({ width: 1600, height: 900 }); + await page.evaluateOnNewDocument(() => { + // This harness inspects cards, so keep first-run chrome out of the view. + localStorage.setItem('gev:first-run-mission:v1', 'suppressed'); + }); page.on('pageerror', (err) => console.error(` [page-error] ${err.message}`)); await page.goto(APP_URL, { waitUntil: 'domcontentloaded', timeout: 60000 }); @@ -319,7 +323,10 @@ async function main() { orientation: { heading: p.heading, pitch: p.pitch, roll: 0 }, }); }, port); - const resettled = settled ? true : await page + // A changed camera invalidates the previous settled result. Let the new + // view schedule its tiles before checking readiness again. + await new Promise((resolve) => setTimeout(resolve, 1500)); + const resettled = await page .waitForFunction(() => { const gev = window.__godsEyeView; const ais = gev.dataManager.getAll().find((l) => l.id === 'ais-live-vessels');