about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/notifications/notifications.ts3
-rw-r--r--src/lib/statsig/events.ts1
-rw-r--r--src/screens/Login/LoginForm.tsx3
3 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts
index 18578c0c4..52f984a59 100644
--- a/src/lib/notifications/notifications.ts
+++ b/src/lib/notifications/notifications.ts
@@ -72,7 +72,7 @@ export function useRequestNotificationsPermission() {
   const gate = useGate()
 
   return React.useCallback(
-    async (context: 'StartOnboarding' | 'AfterOnboarding') => {
+    async (context: 'StartOnboarding' | 'AfterOnboarding' | 'Login') => {
       const permissions = await Notifications.getPermissionsAsync()
 
       if (
@@ -97,6 +97,7 @@ export function useRequestNotificationsPermission() {
 
       const res = await Notifications.requestPermissionsAsync()
       logEvent('notifications:request', {
+        context: context,
         status: res.status,
       })
 
diff --git a/src/lib/statsig/events.ts b/src/lib/statsig/events.ts
index 85254992e..660a37d2a 100644
--- a/src/lib/statsig/events.ts
+++ b/src/lib/statsig/events.ts
@@ -17,6 +17,7 @@ export type LogEvents = {
   }
   'notifications:openApp': {}
   'notifications:request': {
+    context: 'StartOnboarding' | 'AfterOnboarding' | 'Login'
     status: 'granted' | 'denied' | 'undetermined'
   }
   'state:background': {
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index 17fc32368..58c100294 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -19,6 +19,7 @@ import {cleanError} from '#/lib/strings/errors'
 import {createFullHandle} from '#/lib/strings/handles'
 import {logger} from '#/logger'
 import {useSessionApi} from '#/state/session'
+import {useRequestNotificationsPermission} from 'lib/notifications/notifications'
 import {atoms as a, useTheme} from '#/alf'
 import {Button, ButtonIcon, ButtonText} from '#/components/Button'
 import {FormError} from '#/components/forms/FormError'
@@ -65,6 +66,7 @@ export const LoginForm = ({
   const passwordInputRef = useRef<TextInput>(null)
   const {_} = useLingui()
   const {login} = useSessionApi()
+  const requestNotificationsPermission = useRequestNotificationsPermission()
 
   const onPressSelectService = React.useCallback(() => {
     Keyboard.dismiss()
@@ -111,6 +113,7 @@ export const LoginForm = ({
         },
         'LoginForm',
       )
+      requestNotificationsPermission('Login')
     } catch (e: any) {
       const errMsg = e.toString()
       LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)