tinyhumansai/openhuman · error

[onboarding:layout] could not set walkthrough pending flag;

Error message

[onboarding:layout] could not set walkthrough pending flag; continuing

What it means

Best-effort catch around setWalkthroughPending() just before navigating to /chat after onboarding. The critical persistence step above (onboarding_completed flag) already ran and threw on failure; the walkthrough flag is intentionally non-blocking, so a localStorage failure here only logs and navigation continues — the walkthrough just may not auto-start.

Source

Thrown at app/src/pages/onboarding/OnboardingLayout.tsx:75

    }

    try {
      await setOnboardingCompletedFlag(true);
    } catch (e) {
      console.error('[onboarding] Failed to persist onboarding_completed', e);
      throw e;
    }

    // Fire onboarding_complete analytics event before navigation.
    trackEvent('onboarding_complete');

    // Flag the Joyride walkthrough as pending so it auto-starts on the chat landing surface.
    // Best-effort: localStorage failures must not block navigation.
    try {
      setWalkthroughPending();
      console.debug('[onboarding:layout] walkthrough pending flag set — navigating to /chat');
    } catch (e) {
      console.warn('[onboarding:layout] could not set walkthrough pending flag; continuing', e);
    }

    navigate('/chat', { replace: true });
  }, [draft.connectedSources, navigate, setOnboardingCompletedFlag, setOnboardingTasks, snapshot]);

  const value = useMemo(
    () => ({ draft, setDraft, completeAndExit }),
    [draft, setDraft, completeAndExit]
  );

  return (
    <OnboardingContext.Provider value={value}>
      <div
        data-testid="onboarding-layout"
        className="min-h-full relative flex items-center justify-center py-10">
        <div className="relative z-10 w-full max-w-2xl mx-4">
          <BetaBanner />
          <Outlet />

View on GitHub (pinned to 7491200858)

Solutions

  1. No action needed — navigation to /chat proceeds
  2. If the walkthrough is desired, trigger it manually via resetWalkthrough once storage is healthy
  3. Clear localStorage quota if setItem keeps failing
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at app/src/pages/onboarding/OnboardingLayout.tsx:75 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/670acc6ab69f9889. Report an issue: GitHub.