From 9cf42f68a738889ba0241c62be25fe91816f6314 Mon Sep 17 00:00:00 2001 From: Lee Hansel Solevilla Date: Wed, 5 Feb 2025 23:32:04 +0800 Subject: [PATCH 1/3] Revert "Revert "fix: onboarding anon user fetching actions (#4150)" (#4152)" This reverts commit a2936f5912ef0eca0e09c0b9881b75741df58835. --- packages/shared/src/hooks/auth/useOnboarding.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/src/hooks/auth/useOnboarding.tsx b/packages/shared/src/hooks/auth/useOnboarding.tsx index 26d2e34570..95642ed147 100644 --- a/packages/shared/src/hooks/auth/useOnboarding.tsx +++ b/packages/shared/src/hooks/auth/useOnboarding.tsx @@ -33,7 +33,7 @@ export const useOnboarding = (): UseOnboarding => { return { shouldShowAuthBanner, - isOnboardingReady: isActionsFetched && isAuthReady, + isOnboardingReady: isAuthReady && (isActionsFetched || !user), hasCompletedEditTags, hasCompletedContentTypes, completeStep: (action: ActionType) => completeAction(action), From 018c882aea561682e0926f475f818fbf8d93d547 Mon Sep 17 00:00:00 2001 From: Lee Hansel Solevilla Date: Thu, 6 Feb 2025 00:23:21 +0800 Subject: [PATCH 2/3] fix: missing dependencies --- packages/webapp/pages/onboarding.tsx | 31 +++++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/packages/webapp/pages/onboarding.tsx b/packages/webapp/pages/onboarding.tsx index f9c7f927ad..1932c395c1 100644 --- a/packages/webapp/pages/onboarding.tsx +++ b/packages/webapp/pages/onboarding.tsx @@ -150,7 +150,6 @@ const seo: NextSeoProps = { }; export function OnboardPage(): ReactElement { - const params = new URLSearchParams(window.location.search); const { isAvailable: canUserInstallPWA } = useInstallPWA(); const { isOnboardingReady, @@ -225,31 +224,44 @@ export function OnboardPage(): ReactElement { ].includes(activeScreen); useEffect(() => { - if (!isPageReady || isLogged.current || !isOnboardingReady) { + if ( + !isPageReady || + isLogged.current || + !isOnboardingReady || + !user?.infoConfirmed + ) { return; } - if (user?.infoConfirmed && !hasCompletedEditTags) { + isLogged.current = true; + + if (!hasCompletedEditTags) { setActiveScreen(OnboardingStep.EditTag); return; } - if (user?.infoConfirmed && !hasCompletedContentTypes) { + if (!hasCompletedContentTypes) { setActiveScreen(OnboardingStep.ContentTypes); return; } - if (user?.infoConfirmed && activeScreen === OnboardingStep.Intro) { + if (activeScreen === OnboardingStep.Intro) { + const params = new URLSearchParams(window.location.search); const afterAuth = params.get(AFTER_AUTH_PARAM); params.delete(AFTER_AUTH_PARAM); router.replace(getPathnameWithQuery(afterAuth || webappUrl, params)); - return; } - isLogged.current = true; // @NOTE see https://dailydotdev.atlassian.net/l/cp/dK9h1zoM // eslint-disable-next-line react-hooks/exhaustive-deps - }, [isPageReady, user, isOnboardingReady]); + }, [ + isPageReady, + user, + isOnboardingReady, + hasCompletedEditTags, + hasCompletedContentTypes, + activeScreen, + ]); const onClickNext: OnboardingOnClickNext = (options) => { logEvent({ @@ -346,6 +358,7 @@ export function OnboardPage(): ReactElement { : LogEvent.OnboardingSkip, }); + const params = new URLSearchParams(window.location.search); const afterAuth = params.get(AFTER_AUTH_PARAM); return router.replace({ pathname: afterAuth || '/', @@ -436,6 +449,8 @@ export function OnboardPage(): ReactElement { activeScreen === OnboardingStep.Intro && !isOnboardingReady; + console.log('is onboarding ready: ', isOnboardingReady); + if (!isPageReady) { return null; } From a592f831e3fbb92bdc0c8b322f20c7c3469a93a8 Mon Sep 17 00:00:00 2001 From: Lee Hansel Solevilla Date: Thu, 6 Feb 2025 00:26:23 +0800 Subject: [PATCH 3/3] chore: log removal --- packages/webapp/pages/onboarding.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/webapp/pages/onboarding.tsx b/packages/webapp/pages/onboarding.tsx index 1932c395c1..a0a05df532 100644 --- a/packages/webapp/pages/onboarding.tsx +++ b/packages/webapp/pages/onboarding.tsx @@ -449,8 +449,6 @@ export function OnboardPage(): ReactElement { activeScreen === OnboardingStep.Intro && !isOnboardingReady; - console.log('is onboarding ready: ', isOnboardingReady); - if (!isPageReady) { return null; }