From 51856a2babfce7e4278aa694accb874dd8e3415e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 19:47:54 +0000 Subject: [PATCH] Fix CI visual test flakiness by increasing timeout The "video modal mobile regression" visual test was failing in CI with a significant diff ratio, likely due to slow rendering or font loading in the CI environment (which uses serial mode and different hardware). This commit increases the `waitForTimeout` from 100ms to 1000ms in `tests/visual/kitchen-sink.spec.ts` for both the theme tests and the video modal test. This extra time allows the layout and fonts to stabilize before the screenshot is taken, reducing the likelihood of false positives. Verified locally that tests still pass. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- reproduce_issue.js | 44 ------------------------------- tests/visual/kitchen-sink.spec.ts | 4 +-- 2 files changed, 2 insertions(+), 46 deletions(-) delete mode 100644 reproduce_issue.js diff --git a/reproduce_issue.js b/reproduce_issue.js deleted file mode 100644 index 4bc011c7..00000000 --- a/reproduce_issue.js +++ /dev/null @@ -1,44 +0,0 @@ - -import { createExploreDiversitySorter } from "./js/feedEngine/sorters.js"; - -const buildItem = ({ id, score, tags }) => ({ - video: { - id: String(id), - tags: tags.map((tag) => ["t", tag]), - rootCreatedAt: 1000, - }, - metadata: { - exploreScore: score, - }, -}); - -function generateData(count) { - const items = []; - const tagsPool = ["cats", "dogs", "birds", "nature", "funny", "news", "crypto", "bitcoin", "tech", "music"]; - for (let i = 0; i < count; i++) { - const score = Math.random(); - // Assign 1-3 random tags - const numTags = Math.floor(Math.random() * 3) + 1; - const itemTags = []; - for (let t = 0; t < numTags; t++) { - itemTags.push(tagsPool[Math.floor(Math.random() * tagsPool.length)]); - } - items.push(buildItem({ id: i, score, tags: itemTags })); - } - return items; -} - -async function runBenchmark() { - const sorter = createExploreDiversitySorter({ lambda: 0.7 }); - const counts = [100, 500, 1000]; - - for (const count of counts) { - const items = generateData(count); - const start = performance.now(); - sorter(items, { addWhy() {} }); - const end = performance.now(); - console.log(`Count: ${count}, Time: ${(end - start).toFixed(2)}ms`); - } -} - -runBenchmark(); diff --git a/tests/visual/kitchen-sink.spec.ts b/tests/visual/kitchen-sink.spec.ts index 5577ac77..5b0b6e6e 100644 --- a/tests/visual/kitchen-sink.spec.ts +++ b/tests/visual/kitchen-sink.spec.ts @@ -61,7 +61,7 @@ test.describe("design system kitchen sink", () => { } }, theme.value ?? null); - await page.waitForTimeout(100); + await page.waitForTimeout(1000); const screenshotBuffer = await page.screenshot({ type: "png", @@ -156,7 +156,7 @@ test.describe("video modal mobile regression", () => { window.scrollTo(0, 0); }); - await page.waitForTimeout(100); + await page.waitForTimeout(1000); const screenshotBuffer = await page.screenshot({ type: "png",