diff --git a/web/src/lib/utils/useDelayed.svelte.test.ts b/web/src/lib/utils/useDelayed.svelte.test.ts index 90eea419..cd304853 100644 --- a/web/src/lib/utils/useDelayed.svelte.test.ts +++ b/web/src/lib/utils/useDelayed.svelte.test.ts @@ -61,6 +61,7 @@ describe('useDelayed', () => { const cleanup = $effect.root(() => { delayed = useDelayed(() => source, 100); }); + flushSync(); // run the initial $effect so the setTimeout is scheduled vi.advanceTimersByTime(200); expect(delayed.value).toBe(true); diff --git a/web/src/lib/utils/useDelayed.svelte.ts b/web/src/lib/utils/useDelayed.svelte.ts index b688275a..06eecc5e 100644 --- a/web/src/lib/utils/useDelayed.svelte.ts +++ b/web/src/lib/utils/useDelayed.svelte.ts @@ -11,15 +11,6 @@ export function useDelayed( let delayed = $state(false); let timeout: ReturnType | null = null; - // Schedule the initial timeout synchronously so tests that advance fake - // timers before the first reactive flush still see the correct value. - if (source()) { - timeout = setTimeout(() => { - delayed = true; - timeout = null; - }, delayMs); - } - $effect(() => { const v = source(); if (timeout) {