soulsync/core
Broque Thomas 5d6ccee066 Add Picard-style MB release preflight for album downloads
Before album tracks start post-processing, pre-populate the MusicBrainz
release cache with ONE verified release. All tracks then hit the cache
during per-track processing and get the same release MBID — no second pass,
no file lock contention, tags correct on first write.

Handles edition name mismatches (Spotify says 'Super Deluxe', MB says
just the base name) by stripping qualifiers and searching again.
Validates track count to pick the right edition. Three download paths
covered: download missing modal, enhanced album, and matched album.
2026-03-23 12:42:29 -07:00
..
repair_jobs Add Album Tag Consistency repair job: detect and fix inconsistent tags across album tracks 2026-03-23 10:44:36 -07:00
acoustid_client.py Fix chromaprint C-level assertion crash on 5.1 surround FLAC files. Not possible to check 2026-03-04 10:51:01 -08:00
acoustid_verification.py Strip all parentheticals in AcoustID title normalization 2026-03-13 21:28:18 -07:00
album_consistency.py Add Picard-style MB release preflight for album downloads 2026-03-23 12:42:29 -07:00
audiodb_client.py Add AudioDB enrichment for artists, albums, and tracks 2026-02-18 14:08:01 -08:00
audiodb_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -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 Fix album_type field missing from Deezer and Spotify Track dataclasses 2026-03-17 16:02:32 -07:00
deezer_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
download_orchestrator.py Fix hybrid source toggle/reorder not saving and skip unconfigured sources 2026-03-20 16:22:48 -07:00
genius_client.py Fix Genius 429 backoff by re-raising rate limit errors from _make_request 2026-03-10 15:46:37 -07:00
genius_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
hifi_client.py Fix HiFi client not failing over to next instance on HTTP 500 2026-03-16 13:56:20 -07:00
hydrabase_client.py Fix Hydrabase search types, ID routing, and plugin passthrough 2026-03-20 21:04:56 -07:00
hydrabase_worker.py Use nonces and drain interleaved stats in Hydrabase 2026-02-24 19:16:14 -08:00
itunes_client.py Prefer album versions over singles when matching tracks to metadata sources 2026-03-17 15:18:28 -07:00
itunes_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -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 scrobbling to Last.fm/ListenBrainz + update What's New 2026-03-22 14:38:53 -07:00
lastfm_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -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 auto lyric download 2025-09-22 16:04:06 -07:00
matching_engine.py Add Soulseek peer queue filtering and configurable download timeout 2026-03-19 11:47:37 -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 Speed up metadata cache browser: add composite indexes, remove full-scan LIKE filters 2026-03-22 23:13:34 -07:00
metadata_service.py Complete Hydrabase as selectable fallback metadata source 2026-03-20 14:18:10 -07:00
musicbrainz_client.py feat(ui): add MusicBrainz enrichment status UI with real-time monitoring 2026-02-03 15:20:04 -08:00
musicbrainz_service.py Fix MusicBrainz release matching preferring standard over deluxe 2026-03-21 10:48:35 -07:00
musicbrainz_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
navidrome_client.py Add Listening Stats page with media server play data integration 2026-03-22 13:18:14 -07:00
personalized_playlists.py Fix discover page Deezer source support 2026-03-16 19:35:26 -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 Tidal & Qobuz Background Enrichment Workers 2026-03-11 21:26:20 -07:00
qobuz_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
repair_worker.py Fix album tag consistency handler: open each file once for all field changes 2026-03-23 10:46:28 -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 Add SoulID worker with API-based debut year disambiguation 2026-03-21 10:21:06 -07:00
soulseek_client.py Add minimum peer upload speed setting and fix quality scoring tiers 2026-03-18 14:07:39 -07:00
spotify_client.py Add rate limit check to search_tracks and search_albums in Spotify client 2026-03-23 07:53:46 -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 Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
tag_writer.py Fix false positive track matching & tag writing visibility for library files 2026-03-12 16:08:44 -07:00
tidal_client.py Fix Tidal token refresh hammering when client credentials removed 2026-03-20 07:28:32 -07:00
tidal_download_client.py Retry Tidal download at lower quality when hi-res returns garbage file 2026-03-14 10:54:33 -07:00
tidal_worker.py Fix enrichment retry loops, cover art finding dupes, and Spotify rate limit during art scan 2026-03-22 23:24:42 -07:00
watchlist_scanner.py Personalize discovery playlists using listening stats 2026-03-22 13:54:37 -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 User configurable youtube rate limiting and optional cookies for bot detection 2026-03-05 10:50:06 -08:00