From 9421bd5cfe0caad6a552a9eca70003f7db5e7c48 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Sun, 23 Aug 2026 17:36:34 +0200 Subject: [PATCH] Verwaltung: Endlosschleife bei abgewiesenem Ausweis behoben DIE URSACHE FUER "die ganze seite haengt" In ladeAnfragen stand seit Tagen dieser Code: if (!ausweisVersucht) { ausweisVersucht = true; var frisch = await ausweisHolen(); if (frisch) { token = frisch; tokenSchreiben(token); ausweisVersucht = false; // <-- VOR dem Neuversuch geloest return ladeAnfragen(); // <-- und ruft sich selbst auf } } Die Sperre wird zurueckgesetzt, BEVOR der neue Versuch laeuft. Solange der Ausweis akzeptiert wurde, fiel das nie auf. Weist der Server ihn dagegen ab, dreht es sich unbegrenzt: Ausweis holen, 401, Ausweis holen, 401 -- ohne Fehlermeldung, ohne Anmeldemaske, nur ein Ladehinweis, der zehn Minuten stehen bleibt. Die schlimmste Sorte Fehler: Sie sieht aus wie Langsamkeit. WARUM DER AUSWEIS ABGEWIESEN WIRD Die Diagnose mit echtem Ausweis zeigte es eindeutig: Ausweis erhalten in 23 ms Einstellungen abrufen -> 401, {"ok":false,"error":"Kein Zugriff."} Die Zugangswand stellt also aus, der interne Dienst lehnt ab. Beide benutzen nicht dasselbe WEBDESIGN_API_SECRET. Auf dem oeffentlichen Server ist es gesetzt (Fingerabdruck e7d63573174f661a); der interne ist fuer mich nicht lesbar -- Filipe prueft das mit einem Befehl, der nur den Fingerabdruck ausgibt, nie den Wert. UND EIN FEHLER, DEN ICH SELBST EINGEBAUT HATTE Die Erneuerung aus v12/v13 ersetzte bei jedem 401 den Schluessel durch einen Ausweis -- auch dann, wenn er aus der Anmeldung mit dem Zugangscode stammte. Bei untauglichem Ausweis wurde daraus ein Totalausfall: Alle zehn Minuten ersetzte sie eine FUNKTIONIERENDE Sitzung durch eine kaputte. Eine Reparatur, die den Normalfall verschlechtert, ist keine. Jetzt fuehrt die Seite mit, WOHER der Schluessel stammt. Eine Code-Sitzung wird nie durch einen Ausweis ersetzt, und die vorsorgliche Erneuerung laeuft fuer sie gar nicht erst. Nach einem Neuladen gilt ein vorhandener Schluessel vorsichtshalber als Code-Sitzung -- lieber einmal zu viel nach dem Code fragen als eine laufende Sitzung zerstoeren. Die Erneuerung sitzt jetzt an EINER Stelle (api()) mit genau einem Neuversuch. Die zweite, aeltere Fassung in ladeAnfragen ist raus; zwei Mechanismen, die sich gegenseitig den Schluessel ueberschreiben, waren ein Teil des Problems. GEPRUEFT mit genau dieser Lage -- Zugangswand stellt aus, interner Dienst lehnt ab: 2 Ausweis-Abrufe in 3 Sekunden statt unbegrenzt abgewiesener Ausweis fuehrt zur Codeeingabe statt zum Haengen Anmeldung mit Code oeffnet die Verwaltung sechs Reiterwechsel, null Rauswuerfe, null Ausweis-Abrufe Zahlungen-Kasten zeigt Inhalt Verwaltung weiterhin 69 von 69. Versionsstempel und Cache auf v14. Co-Authored-By: Claude Opus 5 --- webdesign/ablauf.html | 8 ++-- webdesign/anfrage.html | 10 ++--- webdesign/faq.html | 8 ++-- webdesign/index.html | 8 ++-- webdesign/leistungen.html | 8 ++-- webdesign/portal.html | 10 ++--- webdesign/portfolio.html | 8 ++-- webdesign/preise.html | 8 ++-- webdesign/rechtliches.html | 6 +-- webdesign/sw.js | 2 +- webdesign/ueber.html | 8 ++-- webdesign/verwaltung.html | 85 ++++++++++++++++++++++++++------------ webdesign/widerruf.html | 10 ++--- webdesign/zugang.html | 8 ++-- 14 files changed, 110 insertions(+), 77 deletions(-) diff --git a/webdesign/ablauf.html b/webdesign/ablauf.html index 817d50d0..fbbd194a 100644 --- a/webdesign/ablauf.html +++ b/webdesign/ablauf.html @@ -13,8 +13,8 @@ - - + +