fix(account): Login bei bereits aktiver Sitzung, showModal-Fehler abfangen

- login(): bei user_session_already_exists aktuelle Sitzung beenden und genau
  einmal neu versuchen; Meldung für den Restfall in errorMessage
- requireLogin(): schlägt showModal fehl, wird aufgeräumt und der Fehler geworfen,
  damit spätere Aufrufe nicht an einem toten Promise hängen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-04 09:02:42 +00:00
1 parent 10c55ca933
commit a147d3b496
6 files changed
+143 -9

No files matched your search

+7 -1
View File
@@ -289,7 +289,13 @@ function createLoginDialog(): (view: LoginView) => Promise<boolean> {
settle = resolve;
});
showView(initial);
dialog.showModal();
try {
dialog.showModal();
} catch (err) {
// Sonst bliebe `pending` für alle späteren Aufrufe ein totes Promise.
finish(false);
throw err;
}
// showModal fokussiert das erste bedienbare Element (den Schließen-Knopf); wir wollen das erste Eingabefeld.
content.querySelector<HTMLElement>('input')?.focus();
return pending;