soulsync/webui/static
BoulderBadgeDad d30273985f downloads: restore Clear Completed for persisted history (clears the whole completed list)
since 9a0e3b40 persisted completed downloads in the Downloads view, the Clear Completed button
was hidden for those rows and clear-completed only pruned live session tasks. after a restart
the page filled with persisted completed downloads with no way to clear them.

now Clear Completed clears BOTH:
  - live session completed/failed tasks (clear_completed_local, unchanged), AND
  - the persisted download-history tail: new clear_completed_download_history() deletes every
    library_history event_type='download' row, so the list actually empties and stays empty.

this includes unverified rows (the verification review queue) by design: on a library where
verification never confirmed the imports, ALL completed downloads are 'unverified', so preserving
them made the button a no-op. it only removes HISTORY rows — the actual files and their tracks
entries are untouched, so nothing in the library is lost, only the 'needs verification' flags.
the action confirms first (showConfirmDialog, destructive) and the button now shows whenever any
completed/failed row is present.

3 seam tests (clears all incl unverified; leaves non-download history; empty=0); reconcile +
orphan + JS integrity suites green.
2026-06-27 23:37:06 -07:00
..
docs
vendor
amazon.svg
api-monitor.js wishlist: render library-sourced art (album + artist) — fix blank wishlist images 2026-06-27 17:35:28 -07:00
artists.png
audiodb.png
auto-sync.js Auto-Sync Manager: redesign hourly + weekly boards as horizontal lanes 2026-06-25 13:06:07 -07:00
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 dashboard: show SoulSync's own RAM next to system memory % 2026-06-27 13:42:14 -07:00
dashboard.png
discover-section-controller.js
discover.js Discover: listening-driven recommendations + mix (#913), Fresh Tape fix 2026-06-25 10:15:20 -07:00
discover.png
docs-images-needed.md
docs.js #893: support M3U/M3U8 in playlist import-from-file 2026-06-21 19:43:59 -07:00
downloads.js merge: pull upstream/main (2.7.4) into feature/best-quality-search-mode 2026-06-19 16:54:51 +02: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 preview-clip findings: add Play button + length comparison to verify before approving 2026-06-27 16:27:27 -07:00
explorer.png
favicon.png
help.png
helper.js Release 2.7.9: version bump + What's New / version modal + PR description + docker-publish default tag 2026-06-25 16:11:51 -07:00
hydrabase.png
import.png
init.js ui: default Background Particles OFF (#935) 2026-06-27 10:48:07 -07:00
library.js #916: align missing-track title match with the Reorganize matcher 2026-06-23 15:58:36 -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
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 downloads: restore Clear Completed for persisted history (clears the whole completed list) 2026-06-27 23:37:06 -07:00
particles.js perf(dashboard): cache particle glow sprites instead of per-frame gradients 2026-06-22 15:23:16 -07:00
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 ui: default Background Particles OFF (#935) 2026-06-27 10:48:07 -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 Library cards: in-card badges no longer trigger artist-detail navigation 2026-06-25 13:57:34 -07:00
stats-automations.js Wing It Pool: two-card landing (review + resolved), matching the Discovery Pool 2026-06-25 14:15:42 -07:00
style.css dashboard/shell: drop frosted-glass blur on Firefox only (#935) 2026-06-27 13:36:15 -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 SoulSync Discovery sync tab: list all kinds + Listening Mix generator 2026-06-25 11:38:41 -07:00
sync-spotify.js Fix playlist sync status labels 2026-06-25 13:43:24 +02:00
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 feat(quarantine): consolidate quarantine view into downloads page filter 2026-06-24 15:14:54 +02:00
worker-orbs.js worker orbs: drive the render loop with setInterval on firefox (permanent 1fps fix) 2026-06-27 18:27:31 -07:00