soulsync/webui/static
Broque Thomas b30e1f60bd Add Mirrored Playlists — persistent cross-service playlist archive
Automatically mirrors every parsed playlist (Spotify, Tidal, YouTube, Beatport) to a local database so they're always accessible — even if a service subscription lapses or the browser closes.
  - New "Mirrored" tab on the Sync page with source-branded cards showing discovery/download status
  - Auto-mirrors on successful parse (upsert — re-parsing updates the existing mirror, no duplicates)
  - Click any mirrored playlist to browse its full track list, then run it through the discovery pipeline
  - Cards dynamically reflect live state: Discovering → Discovered → Downloading → Downloaded
  - Download modal rehydrates after page refresh — click a "Downloading..." card to resume viewing progress
  - All phase transitions (start, complete, cancel, error, modal close) keep card and backend state in sync
  - Profile-scoped via profile_id, consistent with other features
2026-03-04 18:27:18 -08:00
..
vendor Add WebSocket real-time updates with automatic HTTP polling fallback 2026-03-03 18:26:29 -08:00
favicon.png enlarge favicon 2026-02-13 16:11:32 -08:00
hydrabase.png Add Hydrabase dev UI and WebSocket support 2026-02-21 00:32:04 -08:00
mobile.css Add multi-profile support with Netflix-style profile picker 2026-03-04 10:46:08 -08:00
script.js Add Mirrored Playlists — persistent cross-service playlist archive 2026-03-04 18:27:18 -08:00
style.css Add Mirrored Playlists — persistent cross-service playlist archive 2026-03-04 18:27:18 -08:00
whisoul.png Add library repair worker and UI 2026-02-21 15:00:23 -08:00