soulsync/core
Broque Thomas a3ab5adcba Backfill MusicBrainz recording ID from Navidrome during database scan
Navidrome provides musicBrainzId on tracks — now captured during
database updates so the MusicBrainz enrichment worker can skip
tracks that already have an MBID.

Uses COALESCE on UPDATE to never overwrite existing enrichment data
with NULL (safe for Plex/Jellyfin which don't provide this field).

Inspired by PR #279 — fixed data loss bug in the original where
unconditional UPDATE would erase existing MBIDs.
2026-04-11 18:47:54 -07:00
..
repair_jobs Add acappella to live/commentary cleaner patterns 2026-04-11 13:56:56 -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 Persist API call history, record rate limit events, fix Spotify re-auth issues 2026-04-05 12:36:58 -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 Add Run Script action to automation engine 2026-04-09 18:20:29 -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 Deezer metadata cache storing incomplete album and track data 2026-04-10 10:43:45 -07:00
deezer_download_client.py Fix Deezer ARL sync/download rehydration and add album data caching 2026-04-09 09:38:13 -07:00
deezer_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
discogs_client.py Fix Discogs cache — add field extractor, wire worker caching, browser UI 2026-04-02 19:47:36 -07:00
discogs_worker.py Fix Discogs cache — add field extractor, wire worker caching, browser UI 2026-04-02 19:47:36 -07:00
download_orchestrator.py Add Lidarr to all remaining source lists in orchestrator and web_server 2026-04-11 08:05:54 -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 Set playlist poster image on Plex/Jellyfin/Emby after sync 2026-04-09 10:08:18 -07:00
lastfm_client.py Your Artists on Discover + Deezer OAuth + MB Lookups Manager + Explorer improvements + bug fixes 2026-04-03 22:39:05 -07:00
lastfm_worker.py Apply manual match protection to all enrichment workers (#226) 2026-03-31 08:24:30 -07:00
lidarr_download_client.py Add Lidarr as 7th download source and validate music video path 2026-04-11 07:59:12 -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 Add artist gate and fix substring matching in matching engine 2026-04-10 13:45:07 -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 Add Failed MB Lookups manager + optimize cache performance 2026-04-03 11:38:50 -07:00
metadata_service.py Add / improve metadata client caching 2026-04-11 13:55:10 +03: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 Backfill MusicBrainz recording ID from Navidrome during database scan 2026-04-11 18:47:54 -07:00
personalized_playlists.py Replace all legacy metadata_service imports with canonical functions 2026-04-10 12:52:36 -07:00
plex_client.py Set playlist poster image on Plex/Jellyfin/Emby after sync 2026-04-09 10:08:18 -07:00
plex_scan_manager.py fix logging issue 2025-08-09 13:17:11 -07:00
qobuz_client.py Add Qobuz auth token login as CAPTCHA bypass alternative 2026-04-08 10:37:38 -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 dismissed findings reappearing and reduce false orphan detections 2026-04-10 17:42:39 -07:00
seasonal_discovery.py Replace all legacy metadata_service imports with canonical functions 2026-04-10 12:52:36 -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 Skip Spotify requests for the rest of the watchlist scan if rate-limited 2026-04-11 13:41:05 +03: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 Persist API call history, record rate limit events, fix Spotify re-auth issues 2026-04-05 12:36:58 -07:00
tag_writer.py Use per-track artist in tag writer for compilations and DJ mixes 2026-04-11 18:31:11 -07:00
tidal_client.py Your Artists on Discover + Deezer OAuth + MB Lookups Manager + Explorer improvements + bug fixes 2026-04-03 22:39:05 -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 Merge pull request #274 from kettui/feat/metadata-client-caching 2026-04-11 13:07:54 -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 Add music video download with progress and metadata matching 2026-04-10 23:14:20 -07:00