Skip to content

🐛 Getting Started shows “Connect with Stripe” when SaaS disabled, leads to /account/undefined #791

@itbeard

Description

@itbeard

Describe the bug

When APP_SAAS_MODE_ENABLED=false, the Getting Started page always displays the “Connect with Stripe” step as incomplete. Clicking it navigates to /account/payment, but the “Payment & Plan” tab is hidden in non‑SaaS mode, so the router ends up at /account/undefined. There is no way to complete or dismiss the step in this mode.

To Reproduce

  1. Set backend env var APP_SAAS_MODE_ENABLED=false.
  2. Deploy and sign in.
  3. Create an event and open Getting Started: /manage/event/{eventId}/getting-started.
  4. Observe the “Connect with Stripe” card shown as incomplete.
  5. Click “Connect with Stripe” → redirected to /account/payment → UI lands on /account/undefined.

Expected behavior

  • When SaaS mode is disabled, the Stripe Connect step should be hidden (or disabled with a clear explanation).
  • No navigation to /account/payment in non‑SaaS mode.
  • Getting Started progress should not be blocked by Stripe Connect when SaaS is off.

Screenshots

Image Image Image

Desktop (please complete)

  • OS: macOS 15
  • Browser: Dia 0.47.0 (68786)

Hi.Events Version and platform

  • Version: 1.1.0-beta-2 (production deployment)
  • Platform: DigitalOcean App Platform

Additional context

Likely UI gating issue.

  • Network: GET /api/accounts returns account JSON without stripe_account_id or stripe_connect_setup_complete when SaaS mode is off.
  • Console: No runtime errors; navigation results in /account/undefined because the “Payment & Plan” tab is conditionally hidden.
  • Backend context:
    • backend/app/Resources/Account/AccountResource.php only includes Stripe fields when config('app.saas_mode_enabled') is true.
    • The “Payment & Plan” tab renders only when account.is_saas_mode_enabled is true, so the route has no matching tab when false.

Proposed fix:

  • On Getting Started, render the Stripe card only when account.is_saas_mode_enabled === true.
  • Guard navigation to /account/payment when SaaS mode is disabled.
  • Optional: add an integration test to ensure the card does not render in non‑SaaS mode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions