tinyhumansai/openhuman · error

[walkthrough] could not set pending flag in localStorage

Error message

[walkthrough] could not set pending flag in localStorage

What it means

Best-effort catch in setWalkthroughPending: localStorage.setItem(WALKTHROUGH_PENDING_KEY) threw — typically SecurityError in blocked/embedded contexts or QuotaExceededError with a full store. Per the documented contract the error is logged and swallowed so onboarding navigation to /chat always proceeds; the only cost is that the walkthrough may not auto-start on landing.

Source

Thrown at app/src/components/walkthrough/AppWalkthrough.tsx:47

    console.warn('[walkthrough] localStorage unavailable — treating as not pending', e);
    return false;
  }
}

/**
 * Flags the walkthrough as pending. Called by OnboardingLayout when the user
 * completes the wizard and is about to navigate to /chat.
 *
 * Best-effort: if localStorage is unavailable (SecurityError / quota) the
 * error is logged and the call is silently swallowed so navigation always
 * proceeds.
 */
export function setWalkthroughPending(): void {
  try {
    localStorage.setItem(WALKTHROUGH_PENDING_KEY, 'true');
    console.debug('[walkthrough] pending flag set');
  } catch (e) {
    console.warn('[walkthrough] could not set pending flag in localStorage', e);
  }
}

/**
 * Marks the walkthrough as completed (or skipped). Once set, the walkthrough
 * will not show again.
 *
 * Wrapped in try/catch to prevent SecurityError/quota exceptions from
 * interrupting the tour-end flow.
 */
export function markWalkthroughComplete(): void {
  try {
    localStorage.setItem(WALKTHROUGH_KEY, 'true');
    localStorage.removeItem(WALKTHROUGH_PENDING_KEY);
    console.debug('[walkthrough] marked as complete');
  } catch (e) {
    console.warn('[walkthrough] could not mark walkthrough complete in localStorage', e);
  }

View on GitHub (pinned to 7491200858)

Solutions

  1. No user-facing action needed — navigation proceeds regardless
  2. If the walkthrough should play, clear storage or unblock localStorage for the app origin
  3. Check for storage quota exhaustion from other keys and prune them
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at app/src/components/walkthrough/AppWalkthrough.tsx:47 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/0f87b3a03f028f5d. Report an issue: GitHub.