// Einstiegspunkt des Prüfstands: das Hochhaus-Board der Hustler-Seite mit der Skript-API, ohne Anmeldung und ohne Appwrite. // Drumherum steht dieselbe Hülle wie in der App (Menüleiste links, Seitenrand), damit die Bühne genauso breit wird wie im echten Betrieb. // ?halted=1 startet mit gesetzter Bounce-Notbremse (H4). window.__wk gibt es nur hier: die Bühne und die Skript-API für shot.cjs. // ?fault=none|down|session|hang schaltet zwischen Board und Skript-API den echten API-Client (createWorkersApi) mit einer Fetch-Weiche // (scripted-fetch.js): window.__wk.control.fault lässt sich zur Laufzeit auf null | 'down' | 'session' | 'hang' setzen (Ausfall-Szenario). // Ohne den Parameter bekommt das Board die Skript-API direkt (Szenarien A bis E). import { StrictMode, createRef } from 'react' import { createRoot } from 'react-dom/client' import { MemoryRouter } from 'react-router-dom' import '../../src/styles/global.css' import '../../src/styles/workers.css' import PageHeader from '../../src/components/ui/PageHeader' import WorkersBoard from '../../src/components/workers/WorkersBoard' import { createWorkersApi } from '../../src/lib/workersApi.js' import { createScriptedApi } from './scripted-api.js' import { createScriptedFetch } from './scripted-fetch.js' const params = new URLSearchParams(window.location.search) const scripted = createScriptedApi({ now: () => performance.now(), base: Date.now(), halted: params.get('halted') === '1' }) const stage = createRef() const fault = params.get('fault') const control = { fault: fault && fault !== 'none' ? fault : null, calls: [], jwts: [] } // Zeitgrenze im Prüfstand kurz (1,5 s statt 20 s), damit der Ausfall „Antwort kommt nie“ in Sekunden sichtbar wird const api = fault === null ? scripted : createWorkersApi({ getJwt: async (options) => { control.jwts.push(Boolean(options && options.fresh)) return 'harness-jwt' }, fetchImpl: createScriptedFetch(scripted, control), timeoutMs: 1500, }) window.__wk = { stage, api: scripted, control } createRoot(document.getElementById('root')).render(
, )