diff --git a/src/components/FullscreenLoadingIndicator.tsx b/src/components/FullscreenLoadingIndicator.tsx
index 96c01ce13efc..34063f4d74f7 100644
--- a/src/components/FullscreenLoadingIndicator.tsx
+++ b/src/components/FullscreenLoadingIndicator.tsx
@@ -24,7 +24,7 @@ type FullScreenLoadingIndicatorProps = {
/** Size of the icon */
iconSize?: FullScreenLoadingIndicatorIconSize;
- /** Whether the "Go Back" button appears after a timeout. */
+ /** Whether the "Go Back" button appears after a timeout. Defaults to true, pass false on screens where going back is dead or harmful (e.g. cold deep-link auth/transition screens). */
shouldUseGoBackButton?: boolean;
/** The ID of the test to be used for testing */
@@ -37,7 +37,7 @@ type FullScreenLoadingIndicatorProps = {
function FullScreenLoadingIndicator({
style,
iconSize = CONST.ACTIVITY_INDICATOR_SIZE.LARGE,
- shouldUseGoBackButton = false,
+ shouldUseGoBackButton = true,
testID = '',
extraLoadingContext,
}: FullScreenLoadingIndicatorProps) {
diff --git a/src/libs/Navigation/AppNavigator/DelegatorConnectGate.tsx b/src/libs/Navigation/AppNavigator/DelegatorConnectGate.tsx
index 3ec92b9d6975..178b1327794a 100644
--- a/src/libs/Navigation/AppNavigator/DelegatorConnectGate.tsx
+++ b/src/libs/Navigation/AppNavigator/DelegatorConnectGate.tsx
@@ -63,7 +63,8 @@ function DelegatorConnectGuard({children}: {children: React.ReactNode}) {
}
return (
- }>
+ // No "Go Back" button: this gate runs on a cold delegate connect, so there is usually no history to pop back to.
+ }>
{children}
);
diff --git a/src/pages/AvatarCropPage.tsx b/src/pages/AvatarCropPage.tsx
index 94812d173e27..e56a0389221d 100644
--- a/src/pages/AvatarCropPage.tsx
+++ b/src/pages/AvatarCropPage.tsx
@@ -42,7 +42,7 @@ function AvatarCropPage() {
);
if (isLoadingDraft || !draft?.uri) {
- return ;
+ return ;
}
const onSave = (image: File | CustomRNImageManipulatorResult) => {
diff --git a/src/pages/LogInWithShortLivedAuthTokenPage.tsx b/src/pages/LogInWithShortLivedAuthTokenPage.tsx
index 0cea23a6ff87..34a2a53e8b36 100644
--- a/src/pages/LogInWithShortLivedAuthTokenPage.tsx
+++ b/src/pages/LogInWithShortLivedAuthTokenPage.tsx
@@ -78,7 +78,8 @@ function LogInWithShortLivedAuthTokenPage({route}: LogInWithShortLivedAuthTokenP
}, [route]);
if (account?.isLoading) {
- return ;
+ // No "Go Back" button: this is a deep-link entry point, so there is usually no history to pop back to.
+ return ;
}
return ;
diff --git a/src/pages/LogOutPreviousUserPage.tsx b/src/pages/LogOutPreviousUserPage.tsx
index 42b560a4fb33..379c802784d5 100644
--- a/src/pages/LogOutPreviousUserPage.tsx
+++ b/src/pages/LogOutPreviousUserPage.tsx
@@ -94,7 +94,8 @@ function LogOutPreviousUserPage({route}: LogOutPreviousUserPageProps) {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [initialURL, isAccountLoading]);
- return ;
+ // No "Go Back" button: going back would pop /transition into the outgoing user's session mid sign-out.
+ return ;
}
export default LogOutPreviousUserPage;
diff --git a/src/pages/ReimbursementAccount/EnterSignerInfo/index.tsx b/src/pages/ReimbursementAccount/EnterSignerInfo/index.tsx
index b4e636d23299..d2c2cf569ea1 100644
--- a/src/pages/ReimbursementAccount/EnterSignerInfo/index.tsx
+++ b/src/pages/ReimbursementAccount/EnterSignerInfo/index.tsx
@@ -111,7 +111,7 @@ function EnterSignerInfo({route}: EnterSignerInfoProps) {
}, [isEditing, moveTo, pageIndex, prevPage]);
if (isRedirecting) {
- return ;
+ return ;
}
return (
diff --git a/src/pages/Search/SearchChangeApproverPage.tsx b/src/pages/Search/SearchChangeApproverPage.tsx
index 6d1905bfbf85..427127989dd7 100644
--- a/src/pages/Search/SearchChangeApproverPage.tsx
+++ b/src/pages/Search/SearchChangeApproverPage.tsx
@@ -280,7 +280,7 @@ function SearchChangeApproverPage() {
);
if (!isOffline && isLoadingBulkChangeApproverPage) {
- return ;
+ return ;
}
return (
diff --git a/src/pages/UnlinkLoginPage.tsx b/src/pages/UnlinkLoginPage.tsx
index 370f973f0a60..e5c40aea34b3 100644
--- a/src/pages/UnlinkLoginPage.tsx
+++ b/src/pages/UnlinkLoginPage.tsx
@@ -62,7 +62,8 @@ function UnlinkLoginPage({route}: UnlinkLoginPageProps) {
};
}, [prevIsLoading, account?.isLoading]);
- return ;
+ // No "Go Back" button: this is a deep-link entry point, so there is usually no history to pop back to.
+ return ;
}
export default UnlinkLoginPage;
diff --git a/src/pages/ValidateLoginPage/index.tsx b/src/pages/ValidateLoginPage/index.tsx
index 765c10ec2023..d13cceed2581 100644
--- a/src/pages/ValidateLoginPage/index.tsx
+++ b/src/pages/ValidateLoginPage/index.tsx
@@ -49,7 +49,8 @@ function ValidateLoginPage({
});
}, [session?.autoAuthState]);
- return ;
+ // No "Go Back" button: this is a deep-link entry point, so there is usually no history to pop back to.
+ return ;
}
export default ValidateLoginPage;
diff --git a/src/pages/ValidateLoginPage/index.web.tsx b/src/pages/ValidateLoginPage/index.web.tsx
index d3db76113b9b..f553d79f0288 100644
--- a/src/pages/ValidateLoginPage/index.web.tsx
+++ b/src/pages/ValidateLoginPage/index.web.tsx
@@ -177,7 +177,11 @@ function ValidateLoginPage({
/>
)}
{((!effectiveAutoAuthState ? shouldStartSignInWithValidateCode : autoAuthStateWithDefault === CONST.AUTO_AUTH_STATE.SIGNING_IN) || isCompletingDirectSignIn) && (
-
+
)}
>
);
diff --git a/src/pages/inbox/report/withReportOrNotFound.tsx b/src/pages/inbox/report/withReportOrNotFound.tsx
index 474c52a4114a..f2e6d6e6e433 100644
--- a/src/pages/inbox/report/withReportOrNotFound.tsx
+++ b/src/pages/inbox/report/withReportOrNotFound.tsx
@@ -140,7 +140,7 @@ export default function (shouldRequireReportID = true): ;
+ return ;
}
if (shouldShowNotFoundPage) {
diff --git a/src/pages/iou/request/step/IOURequestStepConfirmation.tsx b/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
index 0d0f5a75b9e6..4f2e647f9e2c 100644
--- a/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
+++ b/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
@@ -840,7 +840,7 @@ function IOURequestStepConfirmation({
) : (
-
+
);
}
diff --git a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx
index 39e6c6235211..268f4e6925ac 100644
--- a/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx
+++ b/src/pages/iou/request/step/withFullTransactionOrNotFound.tsx
@@ -118,7 +118,7 @@ function WithFullTransactionOrNotFoundImpl
) : (
-
+
);
}
return (
diff --git a/src/pages/settings/Agents/AddAgentPage.tsx b/src/pages/settings/Agents/AddAgentPage.tsx
index ffb869f343f4..be4a32c6e077 100644
--- a/src/pages/settings/Agents/AddAgentPage.tsx
+++ b/src/pages/settings/Agents/AddAgentPage.tsx
@@ -236,7 +236,7 @@ function AddAgentPage({route}: AddAgentPageProps) {
const [template, templateMetadata] = useOnyx(ONYXKEYS.NEW_AGENT_TEMPLATE);
if (isLoadingOnyxValue(templateMetadata)) {
- return ;
+ return ;
}
return (
diff --git a/src/pages/settings/Profile/PersonalDetails/PrivatePersonalDetailsPage.tsx b/src/pages/settings/Profile/PersonalDetails/PrivatePersonalDetailsPage.tsx
index 1e15532ce8db..6a02556b3d40 100644
--- a/src/pages/settings/Profile/PersonalDetails/PrivatePersonalDetailsPage.tsx
+++ b/src/pages/settings/Profile/PersonalDetails/PrivatePersonalDetailsPage.tsx
@@ -226,7 +226,7 @@ function PrivatePersonalDetailsPage() {
};
if (isLoadingApp) {
- return ;
+ return ;
}
return (
diff --git a/src/pages/settings/Wallet/PersonalCards/AddNewCardPage.tsx b/src/pages/settings/Wallet/PersonalCards/AddNewCardPage.tsx
index 83c8135c303c..27afdea7abb7 100644
--- a/src/pages/settings/Wallet/PersonalCards/AddNewCardPage.tsx
+++ b/src/pages/settings/Wallet/PersonalCards/AddNewCardPage.tsx
@@ -46,7 +46,7 @@ function AddPersonalNewCardPage() {
}, []);
if (isAddCardFeedLoading) {
- return ;
+ return ;
}
let CurrentStep: React.JSX.Element;
diff --git a/src/pages/workspace/AccessOrNotFoundWrapper.tsx b/src/pages/workspace/AccessOrNotFoundWrapper.tsx
index 8386442e52c5..24a778ad1451 100644
--- a/src/pages/workspace/AccessOrNotFoundWrapper.tsx
+++ b/src/pages/workspace/AccessOrNotFoundWrapper.tsx
@@ -261,7 +261,7 @@ function AccessOrNotFoundWrapper({
// The feature linked to this page is disabled, so the redirect effect above will navigate to the More Features page.
// Render a loader instead of the page's children so the disabled page is never shown for a frame (avoids a visible flash).
if (shouldRedirectToMoreFeatures) {
- return ;
+ return ;
}
if (shouldShowNotFoundPage) {
return (
diff --git a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx
index e7ba2841b80c..9edd2798958a 100644
--- a/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx
+++ b/src/pages/workspace/expensifyCard/WorkspaceExpensifyCardPage.tsx
@@ -70,7 +70,7 @@ function WorkspaceExpensifyCardPage({route}: WorkspaceExpensifyCardPageProps) {
);
}
if (isLoading) {
- return ;
+ return ;
}
if (paymentBankAccountID) {
return (
diff --git a/src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx b/src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx
index 2d073abdc913..d681c17753d2 100644
--- a/src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx
+++ b/src/pages/workspace/receiptPartners/WorkspaceReceiptPartnersPage.tsx
@@ -294,10 +294,7 @@ function WorkspaceReceiptPartnersPage({route}: WorkspaceReceiptPartnersPageProps
policyFeature={CONST.POLICY.POLICY_FEATURE.MORE_FEATURES}
>
{isLoading ? (
-
+
) : (
{isCardSettingsLoading ? (
-
+
) : (