diff --git a/src/App.native.tsx b/src/App.native.tsx index ede587c899..cf96781b73 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -16,8 +16,8 @@ import {useQueryClient} from '@tanstack/react-query' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' import {init as initPersistedState} from '#/state/persisted' -import * as persisted from '#/state/persisted' import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs' +import {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount' import {useIntentHandler} from 'lib/hooks/useIntentHandler' import {useNotificationsListener} from 'lib/notifications/notifications' import {QueryProvider} from 'lib/react-query' @@ -64,7 +64,7 @@ function InnerApp() { Toast.show(_(msg`Sorry! Your session expired. Please log in again.`)) }) - const account = persisted.get('session').currentAccount + const account = readLastActiveAccount() resumeSession(account) }, [resumeSession, _]) diff --git a/src/App.web.tsx b/src/App.web.tsx index ccf7ecb491..639fbfafc5 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -7,8 +7,8 @@ import {SafeAreaProvider} from 'react-native-safe-area-context' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' import {init as initPersistedState} from '#/state/persisted' -import * as persisted from '#/state/persisted' import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs' +import {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount' import {useIntentHandler} from 'lib/hooks/useIntentHandler' import {QueryProvider} from 'lib/react-query' import {ThemeProvider} from 'lib/ThemeContext' @@ -42,7 +42,7 @@ function InnerApp() { // init useEffect(() => { - const account = persisted.get('session').currentAccount + const account = readLastActiveAccount() resumeSession(account) }, [resumeSession]) diff --git a/src/state/session/util/readLastActiveAccount.ts b/src/state/session/util/readLastActiveAccount.ts new file mode 100644 index 0000000000..e0768b8a83 --- /dev/null +++ b/src/state/session/util/readLastActiveAccount.ts @@ -0,0 +1,6 @@ +import * as persisted from '#/state/persisted' + +export function readLastActiveAccount() { + const {currentAccount, accounts} = persisted.get('session') + return accounts.find(a => a.did === currentAccount?.did) +}