doesitarm/test
ThatGuySam 6cfbfbf530 Keep prod health checks and route fallbacks from failing on stale API entries
Add a Bun health script that exercises top-level, dynamic, and representative video routes against one or more hosts so prod regressions are visible from a single command.

Device pages now fall back to the bundled device list when the external API misses a slug, and orphaned tv slugs redirect to /benchmarks instead of returning a 500. Video fallback logic reuses the existing YouTube-to-listing builder so route reconstruction stays aligned with the current build logic.

Constraint: The external API host can lag behind the frontend build and omit per-slug JSON files that public routes still expect
Rejected: Import the generated video list directly | static/video-list.json is too large for a safe SSR fallback
Rejected: Leave missing tv routes as 500s | a stale public URL should degrade to a useful redirect instead of breaking the request
Confidence: medium
Scope-risk: moderate
Reversibility: clean
Directive: Keep route fallbacks tied to build-time artifacts from the same repo so frontend and fallback data stay in sync
Tested: bun scripts/health http://127.0.0.1:4322; vitest ./test/prebuild/config-node.test.js ./test/prebuild/site-listings.test.js; pnpm run netlify-build
Not-tested: live production deploy before push
2026-04-06 10:51:49 -05:00
..
_artifacts Add artifacts temp directory 2022-07-16 14:48:19 -05:00
_disabled/scanner refactor(scanner): type the worker path and align app-test results 2026-04-04 14:58:25 -05:00
api update: refactor into typescript 2025-02-10 19:19:12 -06:00
helpers update: enable helpers again 2024-12-27 15:25:57 -06:00
listings update: initial vitest refactor for listings 2025-01-11 19:19:45 -06:00
msw Move msw listener to file 2023-08-12 16:14:45 -05:00
playwright refactor(scanner): type the worker path and align app-test results 2026-04-04 14:58:25 -05:00
prebuild Keep prod health checks and route fallbacks from failing on stale API entries 2026-04-06 10:51:49 -05:00
scanner fix(scanner): rename plist parser module to avoid CI cycle false positive 2026-04-04 18:31:46 -05:00
main.test.ts update: refactor main into vitest 2025-02-10 20:27:05 -06:00