Final commit.

This commit is contained in:
Dennis Nemec
2026-06-01 17:12:28 +02:00
parent 3ecbc82885
commit a9bf8ecdd1
385 changed files with 29081 additions and 12089 deletions

View File

@ -81,7 +81,16 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
Emitter<AuthState> emit,
) async {
try {
final restored = await tokenProvider.restoreSession();
// Timeout-Schutz: hängt der Restore (z. B. nativer flutter_appauth-
// Token-Call nach Hot-Restart, nicht erreichbarer Issuer), darf der
// Bootstrap NICHT ewig im Splash bleiben. Nach dem Timeout fallen wir
// sauber auf die LoginPage zurück. Läuft der Restore später doch noch
// erfolgreich durch, kommt der Login via Stream-Event (AuthLoggedIn)
// nachträglich an und der State wird zu Authenticated.
final restored = await tokenProvider.restoreSession().timeout(
const Duration(seconds: 15),
onTimeout: () => false,
);
if (!restored) {
// Kein gespeicherter Refresh-Token oder Refresh fehlgeschlagen:
// Vom Splash zur LoginPage übergehen. Kein Snackbar — das ist