diff --git a/tools/desktop-boot-check.ts b/tools/desktop-boot-check.ts index 530d431..86eb8b6 100644 --- a/tools/desktop-boot-check.ts +++ b/tools/desktop-boot-check.ts @@ -817,7 +817,7 @@ async function runErrorCase(browser: Browser, sidecar: Sidecar, variant: 'api-di await settle(page); const c = await text(); if (variant === 'scan-findings') { - if (!c.includes('5.1.1(v) ยท Sign-up without in-app account deletion')) problems.push('Checks: the scan findings (exit 1) are not listed'); + if (!c.includes('5.1.1(v)') || !c.includes('Sign-up without in-app account deletion')) problems.push('Checks: the scan findings (exit 1) are not listed'); if (!c.includes('lib/auth/sign_up.dart:12')) problems.push('Checks: the finding\'s evidence is not shown'); } else if (!c.includes(SCAN_FAILED_LINE)) problems.push(`Checks: the failure does not show the command's error line "${SCAN_FAILED_LINE}"`); noRaw('Checks', c); @@ -946,7 +946,7 @@ async function runEditorCase(browser: Browser, sidecar: Sidecar): Promise problems.push(`no ${tab} tab: ${String(e).split('\n')[0]}`)); if (!(await page.waitForSelector(root, { timeout: WAIT_MS }).then(() => true, () => false))) problems.push(`${tab}: the editor did not draw (${root})`); await settle(page); @@ -1069,6 +1069,8 @@ async function runLiveArtCase(browser: Browser, sidecar: Sidecar): Promise problems.push('no live store art card')); // nothing is read from the stores until asked (auto-read is off in the saved state) await page.locator('#live-art button', { hasText: 'Read the stores' }).click({ timeout: WAIT_MS }).catch(e => problems.push(`no "Read the stores" button: ${String(e).split('\n')[0]}`)); + // thumbnails load lazily when a tile comes into view, so scroll each one in like a person would + await page.evaluate(() => document.querySelectorAll('#live-art [data-live-tile]').forEach(e => e.scrollIntoView({ block: 'center' }))); const drawn = await page.waitForFunction(() => document.querySelectorAll('#live-art [data-live-tile] img[src^="data:image/"]').length >= 2, null, { timeout: WAIT_MS, polling: 50 }).then(() => true, () => false); if (!drawn) problems.push(`live thumbnails not drawn (${(await text('#live-art')).slice(0, 300)})`); const live = await text('#live-art');