- PasswordReset las den Query-Parameter token nie aus. Wer auf den Link
in der Reset-Mail klickte, landete wieder auf Schritt 1 mit leerem
Token-Feld — der Mailversand aus d9fecb6 lief damit ins Leere. Der
Token wird jetzt aus der URL übernommen und direkt Schritt 2 gezeigt.
- "Zurück zum Login" und die Weiterleitung nach dem Zurücksetzen zeigten
auf "/" und damit beim Unterpfad-Deployment auf das Portal.
- PublicUserList rief JSON.parse(localStorage.getItem(...)) ungeschützt
im Render-Pfad auf. Ein beschädigter Eintrag — oder ein Browser, der
Site-Data blockiert — ließ die gesamte öffentliche Liste weiß werden.
Lesen und Schreiben laufen jetzt über try/catch, und der Wert wird auf
Plausibilität geprüft.
- Der Typfilter-Effekt feuerte auch beim Mounten, obwohl useUsers bereits
selbst lädt: jeder Aufruf der öffentlichen Liste setzte zwei identische
Anfragen ab. Der erste Lauf wird jetzt übersprungen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>