From 33774da0768f7488a6c2e9ebc103aa17d7e008c4 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:50:21 -0500 Subject: [PATCH] chore: log badge error to google analytic instead of sentry (#5718) --- lib/pangea/common/utils/firebase_analytics.dart | 4 ++++ lib/utils/background_push.dart | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/pangea/common/utils/firebase_analytics.dart b/lib/pangea/common/utils/firebase_analytics.dart index 8d8fc59c0..f0fc2232a 100644 --- a/lib/pangea/common/utils/firebase_analytics.dart +++ b/lib/pangea/common/utils/firebase_analytics.dart @@ -135,6 +135,10 @@ class GoogleAnalytics { ); } + static void failUpdateNotificationBadge() { + logEvent('fail_update_notification_badge'); + } + static FirebaseAnalyticsObserver getAnalyticsObserver() { if (analytics == null) { throw Exception("Firebase Analytics not initialized"); diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart index 4cd7cde8f..7d83f1275 100644 --- a/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart @@ -37,10 +37,12 @@ import 'package:unifiedpush_ui/unifiedpush_ui.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/main.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; +import 'package:fluffychat/pangea/common/utils/firebase_analytics.dart'; import 'package:fluffychat/pangea/languages/language_constants.dart'; import 'package:fluffychat/utils/notification_background_handler.dart'; import 'package:fluffychat/utils/push_helper.dart'; import 'package:fluffychat/widgets/fluffy_chat_app.dart'; +import 'package:fluffychat/widgets/local_notifications_extension.dart'; import '../config/app_config.dart'; import '../config/setting_keys.dart'; import '../widgets/matrix.dart'; @@ -289,6 +291,10 @@ class BackgroundPush { // Workaround for app icon badge not updating if (Platform.isIOS) { + // #Pangea + final enabled = await matrix?.notificationsEnabled; + if (enabled != true) return; + // Pangea# final unreadCount = client.rooms .where((room) => room.isUnreadOrInvited && room.id != roomId) .length; @@ -301,8 +307,8 @@ class BackgroundPush { FlutterNewBadger.setBadge(unreadCount); } // #Pangea - } catch (e, s) { - ErrorHandler.logError(data: {}, e: e, s: s); + } catch (e) { + GoogleAnalytics.failUpdateNotificationBadge(); } // Pangea# return;