Skip to content

feat(frontend): onboarding first-login redirect when no preset applied (#5061 follow-up) #6452

Closed

Description

@mrveiss

Discovery from #5061 batch

Issue #5061 acceptance criteria included: "redirect on first login if no preset applied". The OnboardingWizard.vue and /onboarding route were implemented, but the router guard that redirects new users to /onboarding on first login was not.

Fix: add a beforeEach navigation guard in autobot-frontend/src/router/index.ts:

  • After auth check, call GET /api/onboarding/presets or a new GET /api/onboarding/status endpoint to check if a preset has been applied
  • If not applied and user is authenticated → redirect to /onboarding
  • Store a preset_applied flag (Redis or user config) so the redirect only fires once

Activity

  1. mrveiss commented on Apr 30, 2026

    @mrveiss
    OwnerAuthor

    ✅ Closed via PR #6563 (commit 8574a20)

    Acceptance criteria met (#5061 follow-up):

    • ✅ Backend: apply_preset() sets onboarding:preset_applied = "1" and onboarding:preset_name in Redis on success
    • ✅ Backend: new GET /api/onboarding/status returns OnboardingStatus(preset_applied, preset_name). No auth required (called before main app loads)
    • ✅ Frontend: extended existing beforeEach guard (did not add a second guard)
    • ✅ Frontend: sessionStorage cache (onboarding_preset_applied) avoids hitting endpoint on every nav; cleared on successful preset apply
    • ✅ Frontend: redirect to /onboarding when preset_applied=false AND user authenticated AND target is not /onboarding AND not meta.isPublic
    • ✅ Fail-open: Redis null/error → preset_applied=true; network error → cached '1'. Users never trapped in onboarding by infrastructure issues
    • ✅ python -m py_compile autobot-backend/api/onboarding.py passes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions