diff --git a/src/libs/actions/Session/index.ts b/src/libs/actions/Session/index.ts index f384e38f6d55..013d86049150 100644 --- a/src/libs/actions/Session/index.ts +++ b/src/libs/actions/Session/index.ts @@ -856,7 +856,7 @@ function handleExitToNavigation(exitTo: Routes | HybridAppRoute) { waitForUserSignIn().then(() => { Navigation.waitForProtectedRoutes().then(() => { const url = NativeModules.HybridAppModule ? Navigation.parseHybridAppUrl(exitTo) : exitTo; - Navigation.navigate(url, CONST.NAVIGATION.TYPE.FORCED_UP); + Navigation.navigate(url); }); }); }); diff --git a/src/pages/ValidateLoginPage/index.tsx b/src/pages/ValidateLoginPage/index.tsx index edc8b61c82b0..2289547afe56 100644 --- a/src/pages/ValidateLoginPage/index.tsx +++ b/src/pages/ValidateLoginPage/index.tsx @@ -19,6 +19,10 @@ function ValidateLoginPage({ if (session?.authToken) { // If already signed in, do not show the validate code if not on web, // because we don't want to block the user with the interstitial page. + if (exitTo) { + Session.handleExitToNavigation(exitTo); + return; + } Navigation.goBack(); } else { Session.signInWithValidateCodeAndNavigate(Number(accountID), validateCode, '', exitTo); diff --git a/src/pages/ValidateLoginPage/index.website.tsx b/src/pages/ValidateLoginPage/index.website.tsx index 7ce46ee11b14..866b061d964f 100644 --- a/src/pages/ValidateLoginPage/index.website.tsx +++ b/src/pages/ValidateLoginPage/index.website.tsx @@ -34,7 +34,7 @@ function ValidateLoginPage({ } Session.initAutoAuthState(autoAuthState); - if (isSignedIn || !login) { + if (isSignedIn || (!login && !exitTo)) { if (exitTo) { Session.handleExitToNavigation(exitTo); } @@ -64,8 +64,8 @@ function ValidateLoginPage({ <> {autoAuthState === CONST.AUTO_AUTH_STATE.FAILED && } {autoAuthState === CONST.AUTO_AUTH_STATE.JUST_SIGNED_IN && is2FARequired && !isSignedIn && } - {autoAuthState === CONST.AUTO_AUTH_STATE.JUST_SIGNED_IN && isSignedIn && } - {autoAuthState === CONST.AUTO_AUTH_STATE.NOT_STARTED && ( + {autoAuthState === CONST.AUTO_AUTH_STATE.JUST_SIGNED_IN && isSignedIn && !exitTo && } + {autoAuthState === CONST.AUTO_AUTH_STATE.NOT_STARTED && !exitTo && (