From 26c884935f20383dd4e9cefcb5cdebfa740fef4d Mon Sep 17 00:00:00 2001 From: Johannes Millan Date: Thu, 26 Mar 2026 11:50:16 +0100 Subject: [PATCH] fix(onboarding): suppress persistence snack during initial preset selection isOnboardingInProgress() only covered the phase after preset selection. Fresh users on the preset selection screen still saw the snack because ONBOARDING_PRESET_DONE was not yet set. Extend the check to also return true when neither preset nor skip-tour flags are set. --- .../features/onboarding/onboarding-hint.service.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/app/features/onboarding/onboarding-hint.service.ts b/src/app/features/onboarding/onboarding-hint.service.ts index 84f3c46c72..5954abfcc2 100644 --- a/src/app/features/onboarding/onboarding-hint.service.ts +++ b/src/app/features/onboarding/onboarding-hint.service.ts @@ -59,10 +59,16 @@ export class OnboardingHintService { } static isOnboardingInProgress(): boolean { - return ( - !!localStorage.getItem(LS.ONBOARDING_PRESET_DONE) && - !localStorage.getItem(LS.ONBOARDING_HINTS_DONE) - ); + // Onboarding is fully completed + if (localStorage.getItem(LS.ONBOARDING_HINTS_DONE)) { + return false; + } + // Already past preset selection, hints still pending + if (localStorage.getItem(LS.ONBOARDING_PRESET_DONE)) { + return true; + } + // Fresh user still on preset selection screen (no preset done, no skip tour) + return !localStorage.getItem(LS.IS_SKIP_TOUR); } startAfterPresetSelection(): void {