soulsync/webui/static
BoulderBadgeDad 90174de4b2 Spotify: rename "Spotify Free" → "Spotify (no auth)", default enrichment to it
Per Boulder's calls on the new enrichment toggle:

- Naming: "Spotify Free" was misleading (it's a hybrid — pick it, connect an
  account, and sync still uses your official playlists). Relabel the user-facing
  strings to "Spotify (no auth)" — the real distinction is needs-credentials vs
  not. Internal value/key (spotify_free, _free_*) unchanged, so no migration.

- Default ON: metadata.spotify_free_enrichment now defaults True (worker + UI
  load both treat unset as on). So bulk enrichment runs on the no-auth path by
  default and the official account is reserved for interactive search/sync; turn
  the toggle off to enrich through the connected account. The toggle overrides
  auth for the worker (authed users still enrich via no-auth) — matching the
  intended model.

- Worker runs on the toggle alone: is_spotify_metadata_available() now honors
  _prefer_free (+ package installed), so the worker enriches via no-auth even
  with no account connected and no 'no-auth' source selected. Only fires on a
  client carrying the flag (the worker's own), so interactive/watchlist
  availability is unchanged.

- UI: moved the toggle from "Metadata Source" to the Spotify section next to the
  auth fields, always visible, on by default. Help notes the genre trade-off.

Tests: prefer_free makes metadata available without auth/source (and is inert
without the package); interactive availability unaffected. 218 Spotify tests pass.
2026-06-09 12:55:19 -07:00
..
docs
vendor
amazon.svg
api-monitor.js Blocklist Phase 1 (backfill + API + modal): the Blocklist button on the watchlist page 2026-06-07 15:25:52 -07:00
artists.png
audiodb.png
auto-sync.js
automation.png
basic-search-v2.css
beatport-ui.js
blocklist.js Blocklist Phase 1 (backfill + API + modal): the Blocklist button on the watchlist page 2026-06-07 15:25:52 -07:00
core.js Auto-Sync tile: light for the WHOLE pipeline, including scheduled auto-sync 2026-06-06 16:32:10 -07:00
dashboard.png
discover-section-controller.js
discover.js Discover: promote recommendations to a first-class section + show the 'why' 2026-06-03 18:28:19 -07:00
discover.png
docs-images-needed.md
docs.js
downloads.js Manual download search: paste a Tidal/Qobuz track link to grab the exact version (#813) 2026-06-08 15:03:54 -07:00
enrichment-manager.js Show "Running (Spotify Free)" instead of "rate limited" while the worker bridges 2026-06-05 22:08:07 -07:00
enrichment.js Expired Download Cleaner: retention-based cleanup of watchlist/playlist downloads (Boulder) 2026-06-07 22:06:56 -07:00
explorer.png
favicon.png
help.png
helper.js Release 2.6.8: version bump + docker-publish default + What's New changelog 2026-06-07 23:18:21 -07:00
hydrabase.png
import.png
init.js
library.js Full release dates: store + write yyyy-mm-dd end to end (#824 part 2) 2026-06-08 23:32:42 -07:00
library.png
manifest.json
media-player.js #809 review follow-up: crossfade preload also streams un-mounted Navidrome tracks 2026-06-07 13:55:58 -07:00
mobile.css Mobile: notification panel fits the screen (override inline JS positioning) 2026-06-04 20:50:33 -07:00
origin-history.js Download Origins: see (and delete) exactly what watchlist + playlist syncs downloaded 2026-06-07 00:15:31 -07:00
pages-extra.js Merge pull request #793 from nick2000713/perf/scroll-render-and-pm-compat 2026-06-04 16:58:27 -07:00
particles.js
placeholder-album.png
pwa-icon-192.png
pwa-icon-512.png
search.js Blocklist Phase 2b: gate manual downloads with a "download anyway?" confirm 2026-06-07 16:15:23 -07:00
search.png
settings.js Spotify: rename "Spotify Free" → "Spotify (no auth)", default enrichment to it 2026-06-09 12:55:19 -07:00
settings.png
setup-wizard.css
setup-wizard.js
shared-helpers.js #797: stop AcoustID quarantining correct non-English-artist downloads 2026-06-05 16:02:01 -07:00
shell-bridge.js
stats-automations.js Downloads: fix collapsed-batch overflow (#814) + Retry Failed result feedback (#815) 2026-06-07 23:53:18 -07:00
style.css CSS: fix dashboard hover-flicker (#816), Automations tile clutter (#816), and onboarding badge overlap (#817) 2026-06-08 11:29:00 -07:00
sw.js
sync-lastfm.js
sync-listenbrainz.js
sync-services.js Downloads: fix collapsed-batch overflow (#814) + Retry Failed result feedback (#815) 2026-06-07 23:53:18 -07:00
sync-soulsync-discovery.js
sync-spotify.js
sync.png
track-detail.js
trans.png
trans2.png
whisoul.png
wishlist-tools.js Wishlist: manual "add to wishlist" now skips already-owned tracks (#825) 2026-06-09 10:55:45 -07:00
worker-orbs.js Dashboard animations: GPU pass — same visuals, compositor-only where possible 2026-06-06 16:05:05 -07:00