From 9c3ffcaae3681bbf4921ea9828b92f31f3810a4f Mon Sep 17 00:00:00 2001 From: brooklyn! Date: Sun, 19 Jul 2026 23:09:40 -0500 Subject: [PATCH] test(desktop): widen Testing Library async deadline to de-flake UI panels (#67849) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit findBy*/waitFor default to a 1000ms deadline, which is too tight for async-heavy settings panels (radix menus + refetch chains) when the full suite runs under xdist CPU contention in CI. toolset-config-panel.test.tsx has reddened unrelated PRs multiple times with `Unable to find ...` timeouts that pass on re-run — the textbook contention flake. Bump asyncUtilTimeout to 5000ms in the shared ui setup. Success still resolves the instant the node appears; the wider deadline only absorbs a starved runner, so happy-path speed is unchanged and only genuine failures wait longer. --- apps/desktop/vitest.setup.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/desktop/vitest.setup.ts b/apps/desktop/vitest.setup.ts index a671ac3ae971..a780ec2faa52 100644 --- a/apps/desktop/vitest.setup.ts +++ b/apps/desktop/vitest.setup.ts @@ -1,6 +1,12 @@ -import '@testing-library/react' +import { configure } from '@testing-library/react' // React 19 + Testing Library 16: opt into the act environment so render(), // fireEvent(), and findBy* queries automatically flush state updates without // spurious "not wrapped in act(...)" warnings. ;(globalThis as any).IS_REACT_ACT_ENVIRONMENT = true + +// findBy*/waitFor default to a 1000ms deadline — too tight for async-heavy +// panels (radix menus, refetch chains) when the full suite runs under xdist +// CPU contention in CI. Success still resolves the instant the node appears; +// the wider deadline only absorbs a starved runner, killing timing flakes. +configure({ asyncUtilTimeout: 5000 })