The "Update Now" banner now clears all service worker caches,
activates any waiting service worker via SKIP_WAITING message,
and reloads. SW registration also periodically checks for updates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create manifest.json with app name, icons, and shortcuts (Music, Radio, Offline)
- Add /radio to service worker shell cache for offline navigation
- Bump SW cache version to v2 to invalidate stale caches
- Link manifest in layout metadata
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>