Two CI failures landed together on master after PR #194 merged: 1. **components-metadata.json stale.** The `power-supply` thumbnail in scripts/component-overrides.json was updated (grey placeholder → branded PSU SVG with voltage/current labels) but the generated JSON wasn't regenerated. The pre-merge check `git diff --quiet frontend/public/components-metadata.json` now fails on master. Fix: `cd frontend && npm run generate:metadata`, commit the result. 2. **Frontend Tests > test (20/22): vitest worker hang.** `circuit-simulation-service.test.ts` had been calling `service.start()` in ~10 tests without storing the returned unsubscribe handle. Each call subscribes the service to the simStore; the listener captures the service + scheduler in its closure. After all tests complete, vitest's forks pool tries to terminate the worker but the still-active listeners keep the event loop pinned, producing: "Worker exited unexpectedly / Timeout terminating forks worker" All assertions actually pass — only the worker shutdown hangs. Fix: introduce a `startTracked(service)` helper that records the unsubscribe in a module-level array, plus an `afterEach` that drains the array. `__resetMixedModeScheduler()` still runs after to dispose the scheduler singleton. Replaced all 9 raw `service.start()` callsites. Both are independent of any production code change. The fix is test/scaffolding only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| boards | ||
| component-svgs | ||
| examples-thumbs | ||
| firmware | ||
| fonts | ||
| marketing | ||
| wasm/ngspice-interactive | ||
| android-chrome-192.png | ||
| android-chrome-512.png | ||
| apple-touch-icon.png | ||
| components-metadata.json | ||
| favicon-16x16.png | ||
| favicon-32x32.png | ||
| favicon-48x48.png | ||
| favicon.ico | ||
| favicon.svg | ||
| image.png | ||
| image.webp | ||
| manifest.webmanifest | ||
| og-image.png | ||
| og-image.svg | ||
| robots.txt | ||
| sitemap.xml | ||
| vite.svg | ||