Atemschutzueberwachung nach FwDV 7 ergaenzen
Phase 5: das sicherheitsrelevanteste Modul des Projekts. Ueber jeder Ansicht steht dauerhaft, dass die analoge Atemschutzueberwachung fuehrend bleibt — abschaltbar nur zusammen mit der Fundstelle einer Freigabe des Kommandanten. Es gibt keinen Timer. In der Datenbank stehen Zeitstempel; wie lange ein Trupp unter Atemschutz ist, rechnet jede Ansicht bei jedem Bild neu aus. Damit ist die Anforderung "uebersteht Neuladen und Verbindungsabbruch" keine Funktion, die gelingen muss, sondern eine Eigenschaft, die sich nicht verlieren laesst. Server und Browser rechnen mit denselben Funktionen. Der Rueckzugsdruck folgt dem doppelten Anmarschverbrauch: was der Weg hinein gekostet hat, kostet der Weg zurueck noch einmal. Bis der Trupp das Einsatzziel meldet, greift die Zwei-Drittel-Regel — sie liegt hoeher und ist damit die vorsichtigere Annahme. Das Protokoll ist doppelt gesichert: entzogene Rechte und ein Trigger auf druckmessung und atemschutz_ereignis. Ein Fehler wird durch einen neuen Eintrag richtiggestellt, nicht durch Aendern. Verteilt wird ueber Server-Sent Events statt Socket.IO — es geht nur in eine Richtung, und so bleibt das Deployment bei "next start". Behoben: ein abgerissener Ereignisstrom meldete sich nicht. Die Anzeige haette weiter "Verbunden" behauptet, waehrend der Draht tot war. Jetzt gilt Stille von acht Sekunden als Abriss. Dazu zwei Altlasten: der Navigationseintrag "Protokoll" fuehrte ins Leere, und die Startseite stand noch auf Phase 1. 68 neue Tests (51 Unit, 17 gegen eine echte Datenbank, 8 E2E je Browser). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b2b31ed00a
commit
4e2daaafd4
@@ -29,8 +29,14 @@ export default defineConfig({
|
||||
* Aufruf. Zu viele gleichzeitige Erstaufrufe lassen den Server so lange
|
||||
* kompilieren, dass die Navigation ins Zeitlimit läuft — und das sieht dann
|
||||
* nach einem Fehler in der Anwendung aus, ist aber keiner.
|
||||
*
|
||||
* Ab Phase 5 von vier auf zwei: mit über 130 Tests, bcrypt bei jeder
|
||||
* Anmeldung und einer Datenbank daneben fielen bei vier Arbeitern in jedem
|
||||
* Gesamtlauf zwei bis fünf Tests ins Zeitlimit — jedes Mal andere, jeder
|
||||
* einzeln grün. Ein Ergebnis, das man nicht glauben kann, ist wertlos; der
|
||||
* Lauf dauert dafür etwa ein Drittel länger.
|
||||
*/
|
||||
workers: process.env.CI ? 1 : 4,
|
||||
workers: process.env.CI ? 1 : 2,
|
||||
reporter: process.env.CI ? [["list"], ["html", { open: "never" }]] : [["list"]],
|
||||
/** Großzügig, aus demselben Grund. Gegen einen Produktionsbuild reicht ein Bruchteil. */
|
||||
timeout: 90_000,
|
||||
|
||||
Reference in New Issue
Block a user