Commit Graph

4 Commits

Author SHA1 Message Date
Jeff Emmett f5dcc3c804 fix: rewrite music.jefflix.lol root instead of redirect
Use NextResponse.rewrite so the URL stays as music.jefflix.lol/
instead of redirecting to music.jefflix.lol/music.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 19:21:36 -07:00
Jeff Emmett c24962f829 feat: search dedup, MusicBrainz discovery, swipe-to-queue, audio output selector
- Deduplicate Navidrome search results by title+artist (keep highest bitRate)
- Deduplicate Soulseek results by filename across peers (show peer count badge)
- Add MusicBrainz fuzzy search with one-tap Soulseek auto-download
- Add swipe-right-to-queue gesture on mobile song rows
- Add audio output device selector (phone/Bluetooth) in full-screen player
- Include offline mode, download button, and service worker from prior work

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 19:06:28 -07:00
Jeff Emmett b86e7e7a1a fix: exclude /api/version from auth middleware
The update banner needs to reach /api/version without the
jefflix-access cookie, otherwise it gets redirected to /gate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 23:41:47 -07:00
Jeff Emmett 228f3c6658 feat: replace Tailscale VPN gate with simple access code
Remove the vpn-setup/ directory (Headscale/Tailscale scripts, CoreDNS,
onboarding) and add a lightweight access code gate instead. Visitors
must enter a code to view the site — validated via API route with an
httpOnly cookie persisted for 1 year.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 14:07:22 -07:00