feat(testing): smoke-test script + VITE_FORCE_BOOT_STALL gate

- App.tsx and main.tsx ErrorBoundary gate rendererReady() on
  VITE_FORCE_BOOT_STALL build env var. When set, the ping is suppressed
  so the main-process boot timer fires (exercising the renderer-stalled
  recovery path without hand-editing source).
- vite-env.d.ts declares the env var type so TS doesn't complain.
- scripts/smoke-recovery.sh automates scenarios 2 (bad URL → load-failed)
  and 4 (forced stall → renderer-stalled), grepping stderr for the
  [recovery] entered: ... lines added by the prior commit. Backs up and
  restores the user's instance-url.json. Manual scenarios documented in
  the script header.
This commit is contained in:
Jannis Braun
2026-05-03 13:21:54 +02:00
parent fff39f8d76
commit 7e30db3773
4 changed files with 274 additions and 0 deletions
+7
View File
@@ -1,5 +1,12 @@
/// <reference types="vite/client" />
interface ImportMetaEnv {
readonly VITE_FORCE_BOOT_STALL?: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
declare module '@sapphi-red/web-noise-suppressor/rnnoiseWorklet.js?url' {
const url: string;
export default url;