mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: prevent site storybook tests from hanging after completion (#23936)
The vitest process hung after all 2132 story tests passed because leftover refetchInterval polls kept the Node.js event loop alive. Components that set per-query refetchInterval override the QueryClient default, causing HTTP requests through vite's proxy to localhost:3000 (no backend) that never resolve cleanly. Three fixes: - preview.tsx: disable all automatic refetching defaults and cancel in-flight queries on story unmount via useEffect cleanup - storybook.tsx: save/restore the original window.WebSocket in the withWebSocket decorator, clear pending timers in close() - vite.config.mts: add explicit testTimeout, hookTimeout, bail, and retry settings to the storybook vitest project Also fix 5 story files that imported from @testing-library/react instead of storybook/test.
This commit is contained in:
@@ -856,6 +856,7 @@ pre-push:
|
||||
start=$$(date +%s)
|
||||
logdir=$$(mktemp -d "$${TMPDIR:-/tmp}/coder-pre-push.XXXXXX")
|
||||
echo "$(BOLD)pre-push$(RESET) ($$logdir)"
|
||||
test -d site/node_modules/.cache/storybook || (cd site/ && pnpm exec node scripts/warmup-storybook-cache.mjs)
|
||||
echo "test + build site:"
|
||||
$(MAKE) --no-print-directory -j$(PARALLEL_JOBS) MAKE_TIMED=1 MAKE_LOGDIR=$$logdir \
|
||||
test \
|
||||
|
||||
Reference in New Issue
Block a user