From 46960fdc80e1c1d8fc8b18ef9251a39c68b2f2cb Mon Sep 17 00:00:00 2001 From: Blazej Kustra Date: Mon, 16 Sep 2024 15:16:55 +0200 Subject: [PATCH 1/3] Fix onboarding modal that flashes for user transitioning from OldDot --- src/libs/actions/Report.ts | 11 ----------- src/libs/hasCompletedGuidedSetupFlowSelector.ts | 3 ++- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index 40a7059b54b99..c70e9b2715377 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -57,7 +57,6 @@ import {prepareDraftComment} from '@libs/DraftCommentUtils'; import * as EmojiUtils from '@libs/EmojiUtils'; import * as Environment from '@libs/Environment/Environment'; import * as ErrorUtils from '@libs/ErrorUtils'; -import hasCompletedGuidedSetupFlowSelector from '@libs/hasCompletedGuidedSetupFlowSelector'; import HttpUtils from '@libs/HttpUtils'; import isPublicScreenRoute from '@libs/isPublicScreenRoute'; import * as Localize from '@libs/Localize'; @@ -110,7 +109,6 @@ import * as Modal from './Modal'; import navigateFromNotification from './navigateFromNotification'; import * as Session from './Session'; import * as Welcome from './Welcome'; -import * as OnboardingFlow from './Welcome/OnboardingFlow'; type SubscriberCallback = (isFromCurrentUser: boolean, reportActionID: string | undefined) => void; @@ -2690,15 +2688,6 @@ function openReportFromDeepLink(url: string) { const state = navigationRef.getRootState(); const currentFocusedRoute = findFocusedRoute(state); - const hasCompletedGuidedSetupFlow = hasCompletedGuidedSetupFlowSelector(onboarding); - - // We need skip deeplinking if the user hasn't completed the guided setup flow. - if (!hasCompletedGuidedSetupFlow) { - Welcome.isOnboardingFlowCompleted({ - onNotCompleted: () => OnboardingFlow.startOnboardingFlow(), - }); - return; - } if (isOnboardingFlowName(currentFocusedRoute?.name)) { Welcome.setOnboardingErrorMessage(Localize.translateLocal('onboarding.purpose.errorBackButton')); diff --git a/src/libs/hasCompletedGuidedSetupFlowSelector.ts b/src/libs/hasCompletedGuidedSetupFlowSelector.ts index 83cde0a0be8cc..4934c83d7773a 100644 --- a/src/libs/hasCompletedGuidedSetupFlowSelector.ts +++ b/src/libs/hasCompletedGuidedSetupFlowSelector.ts @@ -6,7 +6,8 @@ function hasCompletedGuidedSetupFlowSelector(onboarding: OnyxValue Date: Mon, 16 Sep 2024 16:14:42 +0200 Subject: [PATCH 2/3] Revert "Fix onboarding modal that flashes for user transitioning from OldDot" This reverts commit 46960fdc80e1c1d8fc8b18ef9251a39c68b2f2cb. --- src/libs/actions/Report.ts | 11 +++++++++++ src/libs/hasCompletedGuidedSetupFlowSelector.ts | 3 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index c70e9b2715377..40a7059b54b99 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -57,6 +57,7 @@ import {prepareDraftComment} from '@libs/DraftCommentUtils'; import * as EmojiUtils from '@libs/EmojiUtils'; import * as Environment from '@libs/Environment/Environment'; import * as ErrorUtils from '@libs/ErrorUtils'; +import hasCompletedGuidedSetupFlowSelector from '@libs/hasCompletedGuidedSetupFlowSelector'; import HttpUtils from '@libs/HttpUtils'; import isPublicScreenRoute from '@libs/isPublicScreenRoute'; import * as Localize from '@libs/Localize'; @@ -109,6 +110,7 @@ import * as Modal from './Modal'; import navigateFromNotification from './navigateFromNotification'; import * as Session from './Session'; import * as Welcome from './Welcome'; +import * as OnboardingFlow from './Welcome/OnboardingFlow'; type SubscriberCallback = (isFromCurrentUser: boolean, reportActionID: string | undefined) => void; @@ -2688,6 +2690,15 @@ function openReportFromDeepLink(url: string) { const state = navigationRef.getRootState(); const currentFocusedRoute = findFocusedRoute(state); + const hasCompletedGuidedSetupFlow = hasCompletedGuidedSetupFlowSelector(onboarding); + + // We need skip deeplinking if the user hasn't completed the guided setup flow. + if (!hasCompletedGuidedSetupFlow) { + Welcome.isOnboardingFlowCompleted({ + onNotCompleted: () => OnboardingFlow.startOnboardingFlow(), + }); + return; + } if (isOnboardingFlowName(currentFocusedRoute?.name)) { Welcome.setOnboardingErrorMessage(Localize.translateLocal('onboarding.purpose.errorBackButton')); diff --git a/src/libs/hasCompletedGuidedSetupFlowSelector.ts b/src/libs/hasCompletedGuidedSetupFlowSelector.ts index 4934c83d7773a..83cde0a0be8cc 100644 --- a/src/libs/hasCompletedGuidedSetupFlowSelector.ts +++ b/src/libs/hasCompletedGuidedSetupFlowSelector.ts @@ -6,8 +6,7 @@ function hasCompletedGuidedSetupFlowSelector(onboarding: OnyxValue Date: Mon, 16 Sep 2024 16:15:06 +0200 Subject: [PATCH 3/3] Change the default value to true --- src/libs/hasCompletedGuidedSetupFlowSelector.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/hasCompletedGuidedSetupFlowSelector.ts b/src/libs/hasCompletedGuidedSetupFlowSelector.ts index 83cde0a0be8cc..4934c83d7773a 100644 --- a/src/libs/hasCompletedGuidedSetupFlowSelector.ts +++ b/src/libs/hasCompletedGuidedSetupFlowSelector.ts @@ -6,7 +6,8 @@ function hasCompletedGuidedSetupFlowSelector(onboarding: OnyxValue