soulsync/core
Broque Thomas 22552032e2 Harden download orchestrator and surface init failures in debug info
- Each of the 6 download clients initializes independently via
  _safe_init() — one failing client no longer kills the orchestrator
- All methods guarded against None clients with appropriate fallbacks
- Init failures logged at startup and tracked in _init_failures list
- Copy Debug Info shows "Download Client Failures" section when any
  client failed to initialize, or "ALL" if orchestrator itself is dead
2026-04-02 11:40:11 -07:00
..
repair_jobs Add metadata cache maintenance and health monitoring 2026-03-30 07:40:20 -07:00
acoustid_client.py Helper V2 complete + enrichment worker fixes 2026-03-26 12:20:58 -07:00
acoustid_verification.py Skip AcoustID verification for high-confidence cross-language matches 2026-03-29 20:04:41 -07:00
album_consistency.py Add Picard-style MB release preflight for album downloads 2026-03-23 12:42:29 -07:00
api_call_tracker.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
audiodb_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
audiodb_worker.py Fix enrichment overwriting manual match status (#221) 2026-03-30 11:07:48 -07:00
automation_engine.py Fix automation signal chain: forward event data (playlist_id) to action handlers 2026-03-23 08:51:52 -07:00
database_update_worker.py Fix deep scan skipping file path updates for existing tracks 2026-03-18 13:03:01 -07:00
deezer_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
deezer_download_client.py Fix Deezer download crash: config_manager not in scope 2026-03-24 13:12:23 -07:00
deezer_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
download_orchestrator.py Harden download orchestrator and surface init failures in debug info 2026-04-02 11:40:11 -07:00
genius_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
genius_worker.py Fix enrichment overwriting manual match status (#221) 2026-03-30 11:07:48 -07:00
hifi_client.py Add per-source quality fallback toggle for streaming downloads (#187) 2026-03-24 11:42:47 -07:00
hydrabase_client.py Add missing _get_artist_image_from_albums to HydrabaseClient 2026-03-23 17:54:21 -07:00
hydrabase_worker.py Use nonces and drain interleaved stats in Hydrabase 2026-02-24 19:16:14 -08:00
itunes_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
itunes_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
jellyfin_client.py Add Listening Stats page with media server play data integration 2026-03-22 13:18:14 -07:00
lastfm_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
lastfm_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
listenbrainz_client.py Add scrobbling to Last.fm/ListenBrainz + update What's New 2026-03-22 14:38:53 -07:00
listenbrainz_manager.py Fix per-profile ListenBrainz playlist cache scoping and stale data recovery 2026-03-14 21:11:59 -07:00
listening_stats_worker.py Increase stats page top artists/albums/tracks from 10 to 25 2026-03-22 16:39:53 -07:00
lyrics_client.py Fix .lrc files written without timestamps for plain lyrics 2026-03-30 13:28:41 -07:00
matching_engine.py Fix Japanese/CJK text mangled in Soulseek search queries 2026-03-30 18:28:25 -07:00
media_scan_manager.py Fix automated scans for non-Plex servers & incremental scan performance 2026-03-12 11:17:32 -07:00
metadata_cache.py Expose MusicBrainz cache in UI — browse, clear, and unified health display 2026-04-01 23:12:16 -07:00
metadata_service.py Complete Hydrabase as selectable fallback metadata source 2026-03-20 14:18:10 -07:00
musicbrainz_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
musicbrainz_service.py Add metadata cache maintenance and health monitoring 2026-03-30 07:40:20 -07:00
musicbrainz_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
navidrome_client.py Increase Navidrome API timeout from 10s to 60s 2026-03-31 12:44:40 -07:00
personalized_playlists.py Add discovery artist blacklist — block artists from all discovery playlists 2026-04-01 23:35:56 -07:00
plex_client.py Add Listening Stats page with media server play data integration 2026-03-22 13:18:14 -07:00
plex_scan_manager.py fix logging issue 2025-08-09 13:17:11 -07:00
qobuz_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
qobuz_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
repair_worker.py Fix library maintenance path fixes failing silently (#207) 2026-03-29 16:25:36 -07:00
seasonal_discovery.py Fix seasonal playlists not appearing when Deezer is active source 2026-03-18 10:28:54 -07:00
soulid_worker.py Rebuild artist SoulID: track-verified canonical ID from Deezer + iTunes 2026-03-23 18:34:36 -07:00
soulseek_client.py Enforce FLAC bit depth preference and prioritize audio quality in sorting 2026-03-25 15:59:22 -07:00
spotify_client.py Throttle Spotify pagination and harden watchlist scanner against rate limits 2026-04-02 10:50:49 -07:00
spotify_public_scraper.py Add Spotify Link tab for public playlist/album scraping without API credentials 2026-03-15 21:25:05 -07:00
spotify_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
tag_writer.py Fix OPUS files losing all metadata during import/post-processing 2026-03-28 09:37:12 -07:00
tidal_client.py Add API Rate Monitor dashboard with real-time speedometer gauges 2026-04-02 10:46:43 -07:00
tidal_download_client.py Add per-source quality fallback toggle for streaming downloads (#187) 2026-03-24 11:42:47 -07:00
tidal_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
watchlist_scanner.py Throttle Spotify pagination and harden watchlist scanner against rate limits 2026-04-02 10:50:49 -07:00
web_scan_manager.py Fix automated scans for non-Plex servers & incremental scan performance 2026-03-12 11:17:32 -07:00
wishlist_service.py Fix wishlisted tracks showing 'Unknown Album' with no cover art 2026-03-18 14:23:53 -07:00
youtube_client.py Strip '- Topic' suffix from YouTube auto-generated channel names (#231) 2026-03-31 21:06:05 -07:00