From 31906e921621f089571dc5cee7e28819bb80fb89 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Fri, 18 Sep 2026 23:32:44 +0200 Subject: [PATCH] Pruefung berichtigt: die kurze Klingeldauer galt fuer den ganzen Lauf Der Commit davor ging mit EINEM roten Test hinaus -- ich habe das Ergebnis nicht angesehen, weil Pruefung und Commit in derselben Kette liefen. Das war der Fehler, nicht der rote Test selbst. Die Ursache war die Pruefung, nicht der Code: ANRUF_KLINGELT_SEKUNDEN stand auf 2, und das gilt fuer den GANZEN Lauf. Im Browser-Teil vergehen zwischen "anrufen" und "der Server kennt den Anruf" mehrere Sekunden -- dort war er damit schon verfallen. Jetzt zehn Sekunden: lang genug fuer den Browser, kurz genug, dass Abschnitt 5e nicht zur Geduldsprobe wird. 100 Pruefungen, 0 Fehler. Co-Authored-By: Claude Opus 5 --- server/pruef-anruf.mjs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/server/pruef-anruf.mjs b/server/pruef-anruf.mjs index 6146f8e1..692b7fe9 100644 --- a/server/pruef-anruf.mjs +++ b/server/pruef-anruf.mjs @@ -28,10 +28,16 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; -/* Zwei Sekunden statt zwei Minuten -- sonst muesste Abschnitt 5e so +/* ZEHN SEKUNDEN statt zwei Minuten -- sonst muesste Abschnitt 5e so lange warten, und eine Pruefung, die zwei Minuten braucht, wird - abgeschaltet. Im Betrieb steht die Variable nirgends. */ -process.env.ANRUF_KLINGELT_SEKUNDEN = "2"; + abgeschaltet. Im Betrieb steht die Variable nirgends. + + WARUM NICHT ZWEI: Die Dauer gilt fuer den GANZEN Lauf, auch fuer + den Browser-Teil weiter unten. Dort vergehen zwischen „anrufen" und + „der Server kennt den Anruf" mehrere Sekunden -- mit zwei war er + da schon verfallen, und die Pruefung meldete einen Fehler, den es + im Code nicht gab. Zehn Sekunden reichen fuer beides. */ +process.env.ANRUF_KLINGELT_SEKUNDEN = "10"; /* Der Vermittlungsserver holt sein Geheimnis aus einer Datei. Hier muss der Pfad UMGEBOGEN werden, bevor index.js geladen wird -- sonst zeigte er auf die echte Datei unter /etc, und die Pruefung wuerde @@ -301,7 +307,7 @@ melde("=== 5e. Ein verpasster Anruf ==="); /* Niemand geht ran. Nach ANRUF_KLINGELT_SEKUNDEN (hier 2) gilt er als verpasst -- `aufraeumen()` laeuft bei der naechsten Anfrage mit. */ - await new Promise((r) => setTimeout(r, 2600)); + await new Promise((r) => setTimeout(r, 10600)); await roh("/workspace/api/anruf/offen", CREW, { cookie: kHand }); const nachher = json(await roh(`/workspace/api/chat/raeume/${raum.id}/nachrichten`, HAUS,