From 14a2c4cefb08b5afb4bddfcf606a51ed73f2cf65 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Thu, 29 Oct 2026 16:47:53 -0700 Subject: [PATCH] Run the unit tests that force garbage collection on Node (#36131) * test: run the AI Vault title-input GC check on Node The test asserts superseded maps are garbage collected. Under Bun, whose GC scans the stack conservatively, it can keep one alive, which failed CI on an unrelated PR. Route it to Node with the other V8 retention checks. * test: run the other forced-GC checks on Node too HostRemoveDialog and the happy-dom observer retention check force a collection like the AI Vault check; under Bun's conservative GC they can fail or pass falsely. --- config/scripts/vitest-node-runtime-files.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/scripts/vitest-node-runtime-files.mjs b/config/scripts/vitest-node-runtime-files.mjs index a56b8038632..94103e0dd7f 100644 --- a/config/scripts/vitest-node-runtime-files.mjs +++ b/config/scripts/vitest-node-runtime-files.mjs @@ -35,6 +35,10 @@ const NODE_RUNTIME_INCLUDE = [ 'src/renderer/src/lib/react-commit-cascade-telemetry.test.ts', // Asserts payloads are collected; Bun's GC scans the stack conservatively and may keep one alive. 'src/shared/ws-inbound-message-queue.test.ts', + 'src/renderer/src/lib/ai-vault-tab-title-sync-inputs.test.ts', + 'src/renderer/src/components/sidebar/HostRemoveDialog.test.tsx', + // Asserts an observer survives a forced collection; conservative retention would hide a lost one. + 'config/scripts/happy-dom-mutation-observer-retention.test.ts', // These reach Node SQLite through a shared helper or a dynamic import, which the scan skips. 'src/main/claude/claude-transcript-catch-up.test.ts', 'src/main/claude/claude-transcript-duration.test.ts',