soulsync/core
Broque Thomas 87b39634a0 Fix MusicBrainz recording matches with wrong titles & add MBID mismatch repair job
Add minimum 60% title similarity gate to match_recording() — prevents
artist bonus + MB score from pushing unrelated titles past the confidence
threshold (e.g. "Sweet Surrender" matching "Answers" by same artist).

New MBID Mismatch Detector repair job reads embedded MusicBrainz recording
IDs from audio files, verifies them against the MusicBrainz API, and flags
tracks where the MBID points to a different song. Fix action strips the bad
MBID tag so media servers like Navidrome fall back to correct file tags.
2026-03-16 07:52:00 -07:00
..
repair_jobs Fix MusicBrainz recording matches with wrong titles & add MBID mismatch repair job 2026-03-16 07:52:00 -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
audiodb_client.py Add AudioDB enrichment for artists, albums, and tracks 2026-02-18 14:08:01 -08:00
audiodb_worker.py Retry errored items and prevent incomplete Deezer matches 2026-02-18 20:04:58 -08:00
automation_engine.py Scope automation-triggered watchlist scans to the calling profile & Fix watchlist scan silently skipping all albums due to metadata cache returning incomplete data 2026-03-14 13:23:03 -07:00
database_update_worker.py Fix automated scans for non-Plex servers & incremental scan performance 2026-03-12 11:17:32 -07:00
deezer_client.py Add Deezer playlist sync tab with discovery, fix modal, and cache persistence 2026-03-13 12:29:49 -07:00
deezer_worker.py Retry errored items and prevent incomplete Deezer matches 2026-02-18 20:04:58 -08:00
download_orchestrator.py Add HiFi as free lossless download source via public hifi-api instances 2026-03-15 22:53:34 -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 Last.fm & Genius full worker parity, clickable service badges, and playlist folder race condition fix 2026-03-10 10:35:55 -07:00
hifi_client.py Add HiFi as free lossless download source via public hifi-api instances 2026-03-15 22:53:34 -07:00
hydrabase_client.py hydrabase changes 2026-03-04 19:48:12 -08:00
hydrabase_worker.py Use nonces and drain interleaved stats in Hydrabase 2026-02-24 19:16:14 -08:00
itunes_client.py Harden metadata cache: prevent simplified data from overwriting full entries, fix connection leaks, and add inline TTL enforcement 2026-03-14 13:39:12 -07:00
itunes_worker.py Add Spotify & iTunes workers; update repair worker 2026-02-22 22:29:10 -08:00
jellyfin_client.py Add file path and bitrate support for Jellyfin tracks 2026-03-08 13:08:26 -07:00
lastfm_client.py Add Last.fm and Genius to on-demand enrichment, settings reload, and enrich dropdown parity 2026-03-10 09:12:36 -07:00
lastfm_worker.py Add no-auth state to Last.fm and Genius dashboard buttons with greyed-out UI and settings guidance 2026-03-10 09:20:16 -07:00
listenbrainz_client.py Add per-profile ListenBrainz support with personal settings modal 2026-03-14 20:12:19 -07:00
listenbrainz_manager.py Fix per-profile ListenBrainz playlist cache scoping and stale data recovery 2026-03-14 21:11:59 -07:00
lyrics_client.py auto lyric download 2025-09-22 16:04:06 -07:00
matching_engine.py Add HiFi as free lossless download source via public hifi-api instances 2026-03-15 22:53:34 -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 Harden metadata cache: prevent simplified data from overwriting full entries, fix connection leaks, and add inline TTL enforcement 2026-03-14 13:39:12 -07:00
metadata_service.py Discover page itunes integration. Spotify and Itunes will have their own pool 2026-01-23 23:05:58 -08: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 recording matches with wrong titles & add MBID mismatch repair job 2026-03-16 07:52:00 -07:00
musicbrainz_worker.py Retry errored items and prevent incomplete Deezer matches 2026-02-18 20:04:58 -08:00
navidrome_client.py Detect and remove deleted content during incremental database updates 2026-03-03 13:13:38 -08:00
personalized_playlists.py fix build a playlist functionality and update the ui 2026-03-11 07:52:58 -07:00
plex_client.py Detect and remove deleted content during incremental database updates 2026-03-03 13:13:38 -08: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 Tidal/Qobuz enrichment backfill failing on dict-type copyright and isrc fields 2026-03-12 10:26:35 -07:00
repair_worker.py Fix MusicBrainz recording matches with wrong titles & add MBID mismatch repair job 2026-03-16 07:52:00 -07:00
seasonal_discovery.py Add hemisphere setting for seasonal playlists on Discover page 2026-03-15 18:49:51 -07:00
soulseek_client.py Fix cancel all downloads using non-existent slskd bulk endpoint 2026-02-27 17:59:35 -08:00
spotify_client.py Fix watchlist scan failing entirely when Spotify is rate limited by adding iTunes provider fallback and missing rate limit ban detection 2026-03-14 14:58:12 -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 Stop unnecessary Spotify API call every 60s from enrichment status polling 2026-03-12 12:06:25 -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 playlist sync dropping remix/version info from track titles 2026-03-12 21:12:34 -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 Tidal/Qobuz enrichment backfill failing on dict-type copyright and isrc fields 2026-03-12 10:26:35 -07:00
watchlist_scanner.py Fix watchlist scan failing entirely when Spotify is rate limited by adding iTunes provider fallback and missing rate limit ban detection 2026-03-14 14:58:12 -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 Add multi-profile support with Netflix-style profile picker 2026-03-04 10:46:08 -08:00
youtube_client.py User configurable youtube rate limiting and optional cookies for bot detection 2026-03-05 10:50:06 -08:00