diff --git a/apps/mobile/src/services/biometrics.ts b/apps/mobile/src/services/biometrics.ts index 291de91ff..b8c2612c4 100644 --- a/apps/mobile/src/services/biometrics.ts +++ b/apps/mobile/src/services/biometrics.ts @@ -59,6 +59,9 @@ async function getCredentials(title?: string, description?: string) { }); //@ts-ignore await FingerprintScanner.authenticate(options); + setTimeout(() => { + useSettingStore.getState().setRequestBiometrics(false); + }, 1000); FingerprintScanner.release(); return await Keychain.getInternetCredentials('nn_vault'); } catch (e) { diff --git a/apps/mobile/src/utils/hooks/useAppEvents.js b/apps/mobile/src/utils/hooks/useAppEvents.js index aef41a1a1..7e090290b 100644 --- a/apps/mobile/src/utils/hooks/useAppEvents.js +++ b/apps/mobile/src/utils/hooks/useAppEvents.js @@ -324,14 +324,11 @@ export const useAppEvents = () => { } if (SettingsService.get().appLockMode === 'background') { if (useSettingStore.getState().requestBiometrics) { - console.log('requesting biometrics'); useSettingStore.getState().setRequestBiometrics(false); return; } } - refValues.current.prevState = 'active'; - await reconnectSSE(); await checkIntentState(); MMKV.removeItem('appState'); @@ -345,25 +342,25 @@ export const useAppEvents = () => { } catch (e) {} } } else { - refValues.current.prevState = 'background'; let id = useEditorStore.getState().currentEditingNote; let note = id && db.notes.note(id).data; if (note?.locked && SettingsService.get().appLockMode === 'background') { eSendEvent(eClearEditor); } await storeAppState(); + if ( + SettingsService.get().appLockMode === 'background' && + !useSettingStore.getState().requestBiometrics && + !useUserStore.getState().verifyUser + ) { + useUserStore.getState().setVerifyUser(true); + } if ( SettingsService.get().privacyScreen || SettingsService.get().appLockMode === 'background' ) { !useSettingStore.getState().requestBiometrics ? enabled(true) : null; } - if ( - SettingsService.get().appLockMode === 'background' && - !useSettingStore.getState().requestBiometrics - ) { - useUserStore.getState().setVerifyUser(true); - } } };