From 4ef7a6b64cdc9e8cb02975a2d14fa5406626756c Mon Sep 17 00:00:00 2001 From: hailey Date: Mon, 19 May 2025 09:33:55 -0700 Subject: add reason to log (#8381) --- src/lib/hooks/useNotificationHandler.ts | 14 +++++++++----- src/logger/metrics.ts | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src') 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' -- cgit 1.4.1