Skip to content

Merge Frontend connections to auth page, improved first time setup #127

Merged
LumePart merged 6 commits intoLumePart:feat/backendfrom
dammitjeff:pr-121
May 5, 2026
Merged

Merge Frontend connections to auth page, improved first time setup #127
LumePart merged 6 commits intoLumePart:feat/backendfrom
dammitjeff:pr-121

Conversation

@dammitjeff
Copy link
Copy Markdown
Contributor

@dammitjeff dammitjeff commented May 3, 2026

Meant to complete the frontend for #121
Hey! here's my page for the frontend connections for the auth page :) I moved the login screen out of the wizard and now have a proper Login.jsx page, alongside the ability to log out.

The app now starts by checking two things before loading the UI:

  • session state via /api/ui/auth/status
  • setup state via /api/ui/setup-status

and fetches config only after auth succeeds.

The setup status check reads the existing WIZARD_COMPLETE flag, so the frontend can decide on the fly whether the user should go to the setup wizard or straight into the settings/home UI.

I also added an playlist prefetch endpoint: POST /api/ui/playlists/prefetch
In the wizard, once the user completes step 1, the frontend now calls the new playlist prefetch endpoint and starts caching their playlists and cover-art in the background. This is nice so by the time the user finishes the setup wizard, playlist cards already have cached tracks and cover art ready to render! And after the first time setup, the login/wizard screens will use the user’s own recommendation cover art so it feels really personalized.

If no local playlist/cover cache exists yet, the the background falls back to ListenBrainz global top albums so the UI still has a usable background.

The wizard also uses that same cached artwork as a blurred background, so setup feels visually connected to the rest of the app instead of being a plain form screen.

I also locked down any UI endpoints that should require an authenticated session before loading or mutating user config/data.

  • GET /api/ui/config
  • GET /api/ui/config/raw
  • POST /api/ui/config
  • POST /api/ui/config/reset
  • POST /api/ui/config/schedules
  • POST /api/ui/wizard/step1
  • POST /api/ui/wizard/step2
  • POST /api/ui/wizard/step3
  • GET /api/ui/browse
  • POST /api/ui/run
  • GET /api/ui/run/events
  • POST /api/ui/run/stop
  • GET /api/ui/run/status
  • GET /api/ui/logs
  • GET /api/ui/playlists
  • POST /api/ui/playlists/prefetch
  • POST /api/ui/logout

Hopefully this passes now, thanks again! Let me know if you have questions.

@dammitjeff dammitjeff marked this pull request as ready for review May 3, 2026 22:47
@LumePart LumePart merged commit 67588f3 into LumePart:feat/backend May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants