soulsync/core
Broque Thomas ce474749d5 Add library repair worker and UI
Introduce a RepairWorker to scan the transfer folder and automatically detect/repair broken album track numbers (e.g. the "all tracks = 01" bug). The worker uses mutagen to read/write tags, fuzzy-matches titles against an album tracklist (Spotify/iTunes via a SpotifyClient), updates filenames and the tracks DB file_path when renamed, and caches album tracklists. It also adds DB schema support (repair_status, repair_last_checked, and an index).

Integrates the worker into the web server: initializes and starts the worker, and exposes /api/repair/status, /api/repair/pause and /api/repair/resume endpoints. Adds UI elements (button, tooltip), client-side JS to poll and control the worker, CSS for visuals/animations, and a new image asset (whisoul.png).
2026-02-21 15:00:23 -08:00
..
acoustid_client.py feat: AcoustID audio verification, MusicBrainz enrichment UI, v1.5 2026-02-05 16:33:07 -08:00
acoustid_verification.py Fix AcoustID verification: MusicBrainz metadata fallback and quarantine reliability 2026-02-19 14:29:59 -08: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
database_update_worker.py additional logging for navidrome troubleshooting connection status 2026-02-17 08:32:51 -08:00
deezer_client.py Add Deezer enrichment for artists, albums, and track 2026-02-18 16:41:24 -08:00
deezer_worker.py Retry errored items and prevent incomplete Deezer matches 2026-02-18 20:04:58 -08:00
download_orchestrator.py Reload Soulseek client config on orchestrator init 2026-01-11 21:02:23 -08:00
hydrabase_worker.py Add Hydrabase P2P mirror worker 2026-02-21 02:15:43 -08:00
itunes_client.py Fix: Validate iTunes explicit albums have tracks before deduplication 2026-02-09 21:01:40 -08:00
jellyfin_client.py fix - jellyfin servers can not select a user when determing which library to scan. 2026-02-15 14:09:44 -08:00
listenbrainz_client.py listenbrainz update 2025-11-18 09:57:47 -08:00
listenbrainz_manager.py Fix ListenBrainz playlists not showing when tables don't exist yet 2026-01-29 10:16:19 -08:00
lyrics_client.py auto lyric download 2025-09-22 16:04:06 -07:00
matching_engine.py album name in folder path is no weighted more effectively when trying to choose an album with a specific album source. 2026-02-16 17:59:18 -08:00
media_scan_manager.py navidrome functionality start 2025-09-21 21:02: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 feat: embed MusicBrainz, Spotify/iTunes IDs, ISRC, and merged genres into audio file tags 2026-02-05 21:26:19 -08:00
musicbrainz_worker.py Retry errored items and prevent incomplete Deezer matches 2026-02-18 20:04:58 -08:00
navidrome_client.py additional logging for navidrome troubleshooting connection status 2026-02-17 08:32:51 -08:00
personalized_playlists.py Discover page itunes integration. Spotify and Itunes will have their own pool 2026-01-23 23:05:58 -08:00
plex_client.py Add content type filters for watchlist artists 2026-01-11 01:33:39 -08:00
plex_scan_manager.py fix logging issue 2025-08-09 13:17:11 -07:00
repair_worker.py Add library repair worker and UI 2026-02-21 15:00:23 -08:00
seasonal_discovery.py fix seasonal discovery showing "Various Artists" and using wrong download mode 2026-02-15 19:29:20 -08:00
soulseek_client.py Fix false positive Soulseek connection test by checking network state 2026-02-20 11:32:52 -08:00
spotify_client.py fixed an issue wher ecollaborating artists would have the album listed as their own on library and artist page. 2026-02-18 17:11:53 -08:00
tidal_client.py fix tidal auth issue on restart 2026-01-29 11:33:29 -08:00
watchlist_scanner.py Add multi-disc album support with automatic disc subfolder organization 2026-02-16 13:10:03 -08:00
web_scan_manager.py auto scan after download completion and follow with auto incremental update for active server 2025-09-22 15:01:28 -07:00
wishlist_service.py Add API response docs and track metadata 2026-02-21 10:11:09 -08:00
youtube_client.py Add clearing of completed YouTube downloads 2026-01-05 22:00:38 -08:00