soulsync/webui/static
BoulderBadgeDad 4d45cc614f video downloads (phase 3): source mode + hybrid chain (soulseek/torrent/usenet only)
Video-specific Download Source section: a mode dropdown limited to Soulseek / Torrent /
Usenet / Hybrid (no streaming sources — those are music-only). In hybrid mode, a chain
builder lists the three sources with arrow-reorder + enable toggles (best-first), and
NO album-level/track-level badges (a music-only concept, per spec).

- core/video/download_config.py: pure normalize for download_mode + hybrid_order
  (validates to the 3 sources, dedupes, never empties); stored in video_settings.
- /api/video/downloads/config GET/POST now carries download_mode + hybrid_order
  alongside the folders.
- video-settings.js: dropdown + hybrid rows render/reorder/toggle, show the hybrid
  container only in hybrid mode, save on change. Reuses the .vq-row styling.

7 tests (6 pure + 1 API). Next: the shared slskd connection block (reads/writes the
music config_manager so both sides share one slskd) + confirming the shared Indexers tab.
2026-06-19 00:15:13 -07:00
..
docs
vendor
video video downloads (phase 3): source mode + hybrid chain (soulseek/torrent/usenet only) 2026-06-19 00:15:13 -07:00
amazon.svg
api-monitor.js Watchlist: per-artist 'auto-download' toggle (follow-only) — off = discover/surface releases but skip the wishlist add; default on 2026-06-13 08:07:20 -07:00
artists.png
audiodb.png
auto-sync.js Mirrored playlists: custom name alias (overrides display + sync name, survives upstream refresh) — card rename button like the source-ref editor 2026-06-13 00:23:56 -07:00
automation.png
basic-search-v2.css
beatport-ui.js
blocklist.js
core.js Remove old auto-acting Quality Scanner tool (replaced by Quality Upgrade Finder job) 2026-06-13 12:14:45 -07:00
dashboard.png
discover-section-controller.js
discover.js
discover.png
docs-images-needed.md
docs.js
downloads.js resolve merge conflict in style.css 2026-06-11 18:21:04 +02:00
enrichment-manager.js
enrichment.js Add Empty Folder Cleaner library-maintenance job (corruption's request) 2026-06-11 22:11:26 -07:00
explorer.png
favicon.png
help.png
helper.js Remove old auto-acting Quality Scanner tool (replaced by Quality Upgrade Finder job) 2026-06-13 12:14:45 -07:00
hydrabase.png
import.png
init.js Manage Profiles: make the login-password state visible (clarity) 2026-06-11 21:10:02 -07:00
library.js Export: combine watchlist + library into one button with a scope selector 2026-06-11 23:10:54 -07:00
library.png
manifest.json
media-player.js
mobile.css
my-accounts.js Profiles: Tidal logo on a light disc (dark logo) in My Accounts 2026-06-10 13:49:25 -07:00
origin-history.js Watchlist: show WHICH tracks a scan found/added + group Download Origins (#831) 2026-06-09 20:14:02 -07:00
pages-extra.js Server playlists: M3U export now downloads the .m3u to the browser too (was only saving server-side) — matches the other Export-as-M3U buttons 2026-06-13 08:35:02 -07:00
particles.js
placeholder-album.png
pwa-icon-192.png
pwa-icon-512.png
search.js Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93) 2026-06-09 17:20:16 -07:00
search.png
service-switch.js Profiles: revert Service Status modal to admin-only 2026-06-10 11:43:22 -07:00
settings.js fix: video side can configure server connections again, without changing music 2026-06-15 14:59:36 -07:00
settings.png
setup-wizard.css
setup-wizard.js
shared-helpers.js webui: sync organize-by-playlist toggles + stop dashboard poller 401-spam while locked 2026-06-12 13:28:24 -07:00
shell-bridge.js
stats-automations.js Mirrored playlists: custom name alias (overrides display + sync name, survives upstream refresh) — card rename button like the source-ref editor 2026-06-13 00:23:56 -07:00
style.css HiFi instances: 'Restore Defaults' button (re-adds removed defaults, keeps customs) + bigger tap targets for the ✔/✖ controls (Sokhi) 2026-06-13 09:16:39 -07:00
sw.js SW: stop cover-art burst from hard-failing on first load 2026-06-11 12:03:41 +02:00
sync-lastfm.js
sync-listenbrainz.js
sync-services.js #867 UX: open Tidal discovery modal in 'discovering' phase so the empty/loading modal isn't interactable 2026-06-13 11:03:40 -07:00
sync-soulsync-discovery.js
sync-spotify.js
sync.png
track-detail.js
trans.png
trans2.png
watchlist-history.js Watchlist: bespoke live scan deck + persistent per-run Scan History (#831 round 2) 2026-06-09 20:35:16 -07:00
whisoul.png
wishlist-tools.js Remove old auto-acting Quality Scanner tool (replaced by Quality Upgrade Finder job) 2026-06-13 12:14:45 -07:00
worker-orbs.js