about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/hooks/useNotificationHandler.ts14
-rw-r--r--src/logger/metrics.ts5
2 files changed, 13 insertions, 6 deletions
diff --git a/src/lib/hooks/useNotificationHandler.ts b/src/lib/hooks/useNotificationHandler.ts
index 9c9522aa5..9ddad7a16 100644
--- a/src/lib/hooks/useNotificationHandler.ts
+++ b/src/lib/hooks/useNotificationHandler.ts
@@ -5,7 +5,6 @@ import {useQueryClient} from '@tanstack/react-query'
 
 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
 import {type NavigationProp} from '#/lib/routes/types'
-import {logEvent} from '#/lib/statsig/statsig'
 import {Logger} from '#/logger'
 import {isAndroid} from '#/platform/detection'
 import {useCurrentConvoId} from '#/state/messages/current-convo-id'
@@ -17,7 +16,7 @@ import {useLoggedOutViewControls} from '#/state/shell/logged-out'
 import {useCloseAllActiveElements} from '#/state/util'
 import {resetToTab} from '#/Navigation'
 
-type NotificationReason =
+export type NotificationReason =
   | 'like'
   | 'repost'
   | 'follow'
@@ -229,15 +228,18 @@ export function useNotificationsHandler() {
           'type' in e.notification.request.trigger &&
           e.notification.request.trigger.type === 'push'
         ) {
+          const payload = e.notification.request.trigger
+            .payload as NotificationPayload
+
           logger.debug(
             'User pressed a notification, opening notifications tab',
             {},
           )
-          logEvent('notifications:openApp', {})
+          logger.metric('notifications:openApp', {reason: payload.reason})
+
           invalidateCachedUnreadPage()
-          const payload = e.notification.request.trigger
-            .payload as NotificationPayload
           truncateAndInvalidate(queryClient, RQKEY_NOTIFS('all'))
+
           if (
             payload.reason === 'mention' ||
             payload.reason === 'quote' ||
@@ -245,10 +247,12 @@ export function useNotificationsHandler() {
           ) {
             truncateAndInvalidate(queryClient, RQKEY_NOTIFS('mentions'))
           }
+
           logger.debug('Notifications: handleNotification', {
             content: e.notification.request.content,
             payload: e.notification.request.trigger.payload,
           })
+
           handleNotification(payload)
           Notifications.dismissAllNotificationsAsync()
         }
diff --git a/src/logger/metrics.ts b/src/logger/metrics.ts
index 665633d7c..d64e44b40 100644
--- a/src/logger/metrics.ts
+++ b/src/logger/metrics.ts
@@ -1,3 +1,4 @@
+import {type NotificationReason} from '#/lib/hooks/useNotificationHandler'
 import {type FeedDescriptor} from '#/state/queries/post-feed'
 
 export type MetricEvents = {
@@ -23,7 +24,9 @@ export type MetricEvents = {
       | 'Takendown'
     scope: 'current' | 'every'
   }
-  'notifications:openApp': {}
+  'notifications:openApp': {
+    reason: NotificationReason
+  }
   'notifications:request': {
     context: 'StartOnboarding' | 'AfterOnboarding' | 'Login' | 'Home'
     status: 'granted' | 'denied' | 'undetermined'