- Queue batches for analysis instead of rejecting with 429
- Route all batch submissions through analysis queue
- Separate analysis executor to prevent thread starvation
- Expand batch color palette from 8 to 16 sequential colors
- Add queued phase display in batch panel
Adds a full Discover Sync tab to the Sync page with:
- Core UI scaffolding, playlist modal, empty-state handling
- ListenBrainz playlist integration with auto-update toggle persistence
- Sync progress tracking with matched/total counts on cards
- Navidrome playlist push on batch completion (V1 and V2 paths)
- Active download state display with polling resume on page reload
- Stuck-download detection for downloading and catch-all states
- Serialized sync queue to prevent concurrent backend contention
- Source badges, compact card layout, URL fixes