Skip to content

Commit e19e2f0

Browse files
authored
Merge pull request Expensify#88733 from situchan/fix-88653
[CP Staging] fix Deeplink - App is stuck on splash screen when navigating to a public room as anon user
2 parents 37d1f96 + 03dbe04 commit e19e2f0

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

src/DeepLinkHandler.tsx

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ type DeepLinkHandlerProps = {
2727
function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) {
2828
const linkingChangeListener = useRef<NativeEventSubscription | null>(null);
2929

30-
const [allReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
30+
const [allReports, allReportsMetadata] = useOnyx(ONYXKEYS.COLLECTION.REPORT);
3131
const [, sessionMetadata] = useOnyx(ONYXKEYS.SESSION);
32-
const [conciergeReportID] = useOnyx(ONYXKEYS.CONCIERGE_REPORT_ID);
33-
const [introSelected] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED);
32+
const [conciergeReportID, conciergeReportIDMetadata] = useOnyx(ONYXKEYS.CONCIERGE_REPORT_ID);
33+
const [introSelected, introSelectedMetadata] = useOnyx(ONYXKEYS.NVP_INTRO_SELECTED);
3434
const [isSelfTourViewed, isSelfTourViewedMetadata] = useOnyx(ONYXKEYS.NVP_ONBOARDING, {selector: hasSeenTourSelector});
35-
const [betas] = useOnyx(ONYXKEYS.BETAS);
35+
const [betas, betasMetadata] = useOnyx(ONYXKEYS.BETAS);
3636
const isAuthenticated = useIsAuthenticated();
3737

3838
useEffect(() => {
39-
if (isLoadingOnyxValue(sessionMetadata, isSelfTourViewedMetadata)) {
39+
if (isLoadingOnyxValue(allReportsMetadata, sessionMetadata, conciergeReportIDMetadata, introSelectedMetadata, isSelfTourViewedMetadata, betasMetadata)) {
4040
return;
4141
}
4242
// If the app is opened from a deep link, get the reportID (if exists) from the deep link and navigate to the chat report
@@ -74,7 +74,17 @@ function DeepLinkHandler({onInitialUrl}: DeepLinkHandlerProps) {
7474
linkingChangeListener.current?.remove();
7575
};
7676
// eslint-disable-next-line react-hooks/exhaustive-deps -- intentionally excluding allReports, isAuthenticated, and onInitialUrl to avoid re-triggering deep link handling on every report update
77-
}, [sessionMetadata?.status, conciergeReportID, introSelected, isSelfTourViewedMetadata, betas]);
77+
}, [
78+
conciergeReportID,
79+
introSelected,
80+
betas,
81+
allReportsMetadata.status,
82+
sessionMetadata.status,
83+
conciergeReportIDMetadata.status,
84+
introSelectedMetadata.status,
85+
isSelfTourViewedMetadata.status,
86+
betasMetadata.status,
87+
]);
7888

7989
return null;
8090
}

0 commit comments

Comments
 (0)