diff --git a/lib/features/notifications/data/push_registration_service.dart b/lib/features/notifications/data/push_registration_service.dart index 208330f..114226c 100644 --- a/lib/features/notifications/data/push_registration_service.dart +++ b/lib/features/notifications/data/push_registration_service.dart @@ -49,7 +49,9 @@ class FirebasePushRegistrationService implements PushRegistrationService { final timezone = await FlutterTimezone.getLocalTimezone(); await _firestore.collection('users').doc(uid).set({ 'fcmTokens': FieldValue.arrayUnion([token]), - 'timezone': timezone, + // IANA-Kennung, z. B. "Europe/Berlin" – das Objekt selbst ist nicht + // Firestore-serialisierbar. + 'timezone': timezone.identifier, }, SetOptions(merge: true)); } @@ -78,6 +80,12 @@ final pushRegistrationServiceProvider = Provider((ref) final pushSetupProvider = Provider((ref) { final user = ref.watch(authStateProvider).value; if (user != null) { - ref.read(pushRegistrationServiceProvider).registerDevice(user); + ref.read(pushRegistrationServiceProvider).registerDevice(user).catchError( + (Object error, StackTrace stack) { + // Bewusst nur loggen: Push-Registrierung darf den App-Start nie + // blockieren, aber Fehler müssen im Log sichtbar sein. + debugPrint('Push-Registrierung fehlgeschlagen: $error'); + }, + ); } });