diff --git a/src/libs/actions/Session/index.ts b/src/libs/actions/Session/index.ts index 425df4f0fcde2..9b5e0618ee0ea 100644 --- a/src/libs/actions/Session/index.ts +++ b/src/libs/actions/Session/index.ts @@ -71,18 +71,20 @@ import updateSessionAuthTokens from './updateSessionAuthTokens'; const INVALID_TOKEN = 'pizza'; -let deprecatedSession: Session = {}; +let session: Session = {}; let authPromiseResolver: ((value: boolean) => void) | null = null; let isHybridAppSetupFinished = false; let hasSwitchedAccountInHybridMode = false; -Onyx.connectWithoutView({ +Onyx.connect({ key: ONYXKEYS.SESSION, callback: (value) => { - const session = value ?? {}; - deprecatedSession = value ?? {}; + session = value ?? {}; + if (!session.creationDate) { + session.creationDate = new Date().getTime(); + } if (session.authToken && authPromiseResolver) { authPromiseResolver(true); authPromiseResolver = null; @@ -126,7 +128,7 @@ Onyx.connect({ }); function isSupportAuthToken(): boolean { - return deprecatedSession.authTokenType === CONST.AUTH_TOKEN_TYPES.SUPPORT; + return session.authTokenType === CONST.AUTH_TOKEN_TYPES.SUPPORT; } /** @@ -243,7 +245,7 @@ function signOut(): Promise { * Checks if the account is an anonymous account. */ function isAnonymousUser(sessionParam?: OnyxEntry): boolean { - return (sessionParam?.authTokenType ?? deprecatedSession.authTokenType) === CONST.AUTH_TOKEN_TYPES.ANONYMOUS; + return (sessionParam?.authTokenType ?? session.authTokenType) === CONST.AUTH_TOKEN_TYPES.ANONYMOUS; } function hasStashedSession(): boolean { @@ -254,7 +256,7 @@ function hasStashedSession(): boolean { * Checks if the user has authToken */ function hasAuthToken(): boolean { - return !!deprecatedSession.authToken; + return !!session.authToken; } /** @@ -321,10 +323,7 @@ function signOutAndRedirectToSignIn(shouldResetToHome?: boolean, shouldStashSess if (!isSupportal && shouldStashSession) { onyxSetParams = { [ONYXKEYS.STASHED_CREDENTIALS]: credentials, - [ONYXKEYS.STASHED_SESSION]: { - ...deprecatedSession, - creationDate: deprecatedSession.creationDate ?? new Date().getTime(), - }, + [ONYXKEYS.STASHED_SESSION]: session, }; } @@ -347,7 +346,7 @@ function signOutAndRedirectToSignIn(shouldResetToHome?: boolean, shouldStashSess authToken: stashedSession.authToken ?? '', // eslint-disable-next-line rulesdir/no-default-id-values policyID: activePolicyID ?? '', - accountID: deprecatedSession.accountID ? String(deprecatedSession.accountID) : '', + accountID: session.accountID ? String(session.accountID) : '', }); hasSwitchedAccountInHybridMode = true; } @@ -531,8 +530,8 @@ function beginSignIn(email: string) { */ function buildOnyxDataToCleanUpAnonymousUser() { const data: Record = {}; - if (deprecatedSession.authTokenType === CONST.AUTH_TOKEN_TYPES.ANONYMOUS && deprecatedSession.accountID) { - data[deprecatedSession.accountID] = null; + if (session.authTokenType === CONST.AUTH_TOKEN_TYPES.ANONYMOUS && session.accountID) { + data[session.accountID] = null; } return { key: ONYXKEYS.PERSONAL_DETAILS_LIST, @@ -620,10 +619,7 @@ function setupNewDotAfterTransitionFromOldDot(hybridAppSettings: HybridAppSettin const stashedData = hybridApp?.delegateAccessData?.isDelegateAccess ? { [ONYXKEYS.STASHED_CREDENTIALS]: credentials, - [ONYXKEYS.STASHED_SESSION]: { - ...deprecatedSession, - creationDate: deprecatedSession.creationDate ?? new Date().getTime(), - }, + [ONYXKEYS.STASHED_SESSION]: session, } : { [ONYXKEYS.STASHED_CREDENTIALS]: {}, @@ -1239,7 +1235,7 @@ function validateTwoFactorAuth(twoFactorAuthCode: string, shouldClearData: boole */ function waitForUserSignIn(): Promise { return new Promise((resolve) => { - if (deprecatedSession.authToken) { + if (session.authToken) { resolve(true); } else { authPromiseResolver = resolve;