diff --git a/apps/web/src/components/app/Layout.tsx b/apps/web/src/components/app/Layout.tsx index 910b42f2234..83236fe0375 100644 --- a/apps/web/src/components/app/Layout.tsx +++ b/apps/web/src/components/app/Layout.tsx @@ -50,6 +50,7 @@ import { useIsAuthenticated } from '@core/auth'; import { ENABLE_REMINDERS_FLAG, ENABLE_REMINDERS_OVERRIDE, + LOCAL_ONLY, } from '@core/constant/featureFlags'; import { usePaywallState } from '@core/constant/PaywallState'; import { isSoloSettings } from '@core/constant/SettingsState'; @@ -315,7 +316,12 @@ function NewOnboardingRedirect() { const onboardingV4 = useOnboardingV4Flag(); createEffect(() => { - if (!onboardingV4().enabled || isMobile() || isNativeMobilePlatform()) { + if ( + LOCAL_ONLY || + !onboardingV4().enabled || + isMobile() || + isNativeMobilePlatform() + ) { return; } const data = userInfoQuery.data; diff --git a/apps/web/src/features/auth/EmailAuth.tsx b/apps/web/src/features/auth/EmailAuth.tsx index 85c74151c51..13f2b297a3e 100644 --- a/apps/web/src/features/auth/EmailAuth.tsx +++ b/apps/web/src/features/auth/EmailAuth.tsx @@ -5,6 +5,7 @@ import { updateUserAuth } from '@core/auth'; import { redirectToEmailAuth } from '@core/auth/email'; import { LoadingBlock } from '@core/component/LoadingBlock'; import { toast } from '@core/component/Toast/Toast'; +import { LOCAL_ONLY } from '@core/constant/featureFlags'; import { useSettingsState } from '@core/constant/SettingsState'; import { useEmailLinks } from '@core/email-link'; import { isMobile } from '@core/mobile/isMobile'; @@ -127,6 +128,7 @@ function EmailLinkCallback(props: Pick) { // return straight to it. Landing in mail settings would mount the app // shell mid-onboarding just for NewOnboardingRedirect to bounce back. if ( + !LOCAL_ONLY && onboardingV4().enabled && !isMobile() && !isNativeMobilePlatform() && diff --git a/apps/web/src/features/auth/Login.tsx b/apps/web/src/features/auth/Login.tsx index 650f8fbe8aa..c21e4acf08c 100644 --- a/apps/web/src/features/auth/Login.tsx +++ b/apps/web/src/features/auth/Login.tsx @@ -4,6 +4,7 @@ import { useOnboardingV4Flag } from '@app/features/setup/flow/useOnboardingV4Fla import { useAnalytics } from '@app/lib/analytics/analytics-context'; import { GOOGLE_GMAIL_IDP } from '@core/auth/email'; import { LoadingBlock } from '@core/component/LoadingBlock'; +import { LOCAL_ONLY } from '@core/constant/featureFlags'; import { useEmailLinks } from '@core/email-link'; import { isMobile } from '@core/mobile/isMobile'; import { isNativeMobilePlatform } from '@core/mobile/isNativeMobilePlatform'; @@ -82,12 +83,12 @@ function PostAuthGate() { userInfoQuery.data.tutorialComplete === false; const needsOnboarding = () => - onboardingV4().enabled && isFirstTimeDesktopUser(); + !LOCAL_ONLY && onboardingV4().enabled && isFirstTimeDesktopUser(); // Don't redirect into the app while the gate is still unknown: a first-time // user would land on home for a beat and then get yanked to /onboarding. const waitingOnFlag = () => - onboardingV4().loading && isFirstTimeDesktopUser(); + !LOCAL_ONLY && onboardingV4().loading && isFirstTimeDesktopUser(); return ( }> diff --git a/apps/web/src/routes/Root.tsx b/apps/web/src/routes/Root.tsx index 339abbd6249..48585062a5e 100644 --- a/apps/web/src/routes/Root.tsx +++ b/apps/web/src/routes/Root.tsx @@ -37,6 +37,7 @@ import { clearLocalAuthSession } from '@core/auth/logout'; import { ChatAttachmentsInit } from '@core/component/AI/signal/globalAttachments'; import { LoadingBlock } from '@core/component/LoadingBlock'; import { ToastRegion } from '@core/component/Toast/ToastRegion'; +import { LOCAL_ONLY } from '@core/constant/featureFlags'; import { ChannelsContextProvider } from '@core/context/channels'; import { EmailLinksContextProvider } from '@core/context/emailLinks'; import { QuickAccessProvider } from '@core/context/quickAccess'; @@ -314,6 +315,8 @@ function SetupRedirect() { * flag-off web users on /login and native users on MobileOnboarding. */ function SetupRoute() { + if (LOCAL_ONLY) return ; + const onboardingV4 = useOnboardingV4Flag(); return ( @@ -331,6 +334,8 @@ function SetupRoute() { * mid-flow) would otherwise get kicked to /login and lose its ?next. */ function OnboardingRoute() { + if (LOCAL_ONLY) return ; + const onboardingV4 = useOnboardingV4Flag(); return (