diff --git a/.talismanrc b/.talismanrc index 4bd127497c..d8bec2e210 100644 --- a/.talismanrc +++ b/.talismanrc @@ -87,3 +87,5 @@ fileignoreconfig: checksum: a99fe136d9d1348c541d413324d266e179ecad6a1fe6b6bd1e0b2856a5a6d6b5 - filename: screens/QrLogin/QrConsent.tsx checksum: 8563a194a4d38814eff670f0652d1a7af77134cafb350462174b4f147dbd890d + - filename: machines/store.ts + checksum: ca2328c39d2757ffebf85c0b6663da1073eb58349f2630c9418b2f16c350cbd1 diff --git a/machines/store.ts b/machines/store.ts index 60b2f6e02a..4de360a592 100644 --- a/machines/store.ts +++ b/machines/store.ts @@ -12,7 +12,7 @@ import { import {createModel} from 'xstate/lib/model'; import {generateSecureRandom} from 'react-native-securerandom'; import {log} from 'xstate/lib/actions'; -import {MY_VCS_STORE_KEY, SETTINGS_STORE_KEY} from '../shared/constants'; +import {isIOS, MY_VCS_STORE_KEY, SETTINGS_STORE_KEY} from '../shared/constants'; import SecureKeystore from 'react-native-secure-keystore'; import { AUTH_TIMEOUT, @@ -30,6 +30,7 @@ import { sendErrorEvent, getErrorEventData, } from '../shared/telemetry/TelemetryUtils'; +import RNSecureKeyStore from 'react-native-secure-key-store'; export const keyinvalidatedString = 'Key Invalidated due to biometric enrollment'; @@ -449,6 +450,9 @@ export const storeMachine = }); }, getEncryptionKey: () => async callback => { + if (isIOS()) { + RNSecureKeyStore.setResetOnAppUninstallTo(false); + } const existingCredentials = await Keychain.getGenericPassword(); if (existingCredentials) { console.log('Credentials successfully loaded for user');