..
artists
automation
Remove old auto-acting Quality Scanner tool (replaced by Quality Upgrade Finder job)
2026-06-13 12:14:45 -07:00
blocklist
Blocklist Phase 1 (backfill + API + modal): the Blocklist button on the watchlist page
2026-06-07 15:25:52 -07:00
credentials
Profiles: review fixes — close two gating gaps + reject whitespace secrets
2026-06-10 00:48:03 -07:00
diagnostics
#802 : on-demand memory-growth diagnostic (tracemalloc, browser-drivable)
2026-06-06 18:31:14 -07:00
discovery
Playlist sync: honor the DURABLE manual match, not just the volatile cache
2026-06-21 18:15:20 -07:00
download_engine
download_plugins
Torrents: fix stall handling on "downloading metadata" + stop orphaning in qbit
2026-06-11 14:37:46 -07:00
downloads
Playlists: remove dead _playlist_folder_mode routing branches (retired flag, now unreachable)
2026-06-12 18:52:57 -07:00
enrichment
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
exports
Library export: export the whole library roster too (corruption's request)
2026-06-11 22:59:21 -07:00
imports
Auto-download: resolve an album track's real position from its album (not 1/1)
2026-06-22 13:32:24 -07:00
library
#891 : clear dead folders left with only cover images / .lrc sidecars
2026-06-18 20:07:41 -07:00
maintenance
matching
#845 tests: lift history-path resolver to core/ + seam-test the delete-safety
2026-06-11 11:07:25 -07:00
media_server
metadata
Multi-disc: file the track in the disc folder that matches its tag (Sokhi)
2026-06-22 10:56:53 -07:00
personalized
playback
playlists
#901 : give file-import playlist tracks a stable id so manual matches stick
2026-06-22 08:53:24 -07:00
radio
repair_jobs
#891 : clear dead folders left with only cover images / .lrc sidecars
2026-06-18 20:07:41 -07:00
search
Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93)
2026-06-09 17:20:16 -07:00
security
Login mode: enforce "every profile has a password" at every write-point (no gaps)
2026-06-11 19:48:50 -07:00
stats
streaming
#809 Navidrome playback: stream via the server's API when the library isn't mounted on disk
2026-06-07 13:52:14 -07:00
sync
Sync: append mode actually dedupes — stop re-adding the whole playlist ( #823 )
2026-06-09 16:31:05 -07:00
text
Cover art: a sequel digit glued to a CJK title ('…サウンドトラック2') now blocks the wrong-album match
2026-06-18 08:24:54 -07:00
torrent_clients
Add Aria2 to the torrent client list (Shdjfgatdif's request)
2026-06-11 22:29:40 -07:00
usenet_clients
NZBGet: import from the final location, not the incomplete '….#NZBID' dir
2026-06-18 12:47:19 -07:00
watchlist
webui
wishlist
#897 : surface the ignore-list on the wishlist page + stop blocking manual re-adds
2026-06-21 20:21:44 -07:00
workers
acoustid_client.py
acoustid_verification.py
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
2026-06-11 01:27:29 +02:00
album_consistency.py
amazon_client.py
amazon_download_client.py
amazon_outage.py
amazon_worker.py
Enrichment manager: 'process this group first' + refined hero header
2026-06-02 19:45:04 -07:00
api_call_tracker.py
archive_pipeline.py
artist_source_detail.py
Fix MusicBrainz artist detail showing MBID as name
2026-05-19 12:34:35 -07:00
artist_source_lookup.py
audiodb_client.py
audiodb_worker.py
auto_import_worker.py
#889 : FIX data loss — re-identify to the same release no longer deletes the file
2026-06-18 17:13:46 -07:00
automation_engine.py
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
2026-06-10 15:37:56 -07:00
connection_detect.py
connection_test.py
Spotify (no-auth): report connected + 'Spotify (no-auth)' test result instead of a Deezer fallback
2026-06-13 10:16:23 -07:00
database_update_health.py
#859 : DB-update stall watchdog + UI self-heal (no more wedged 'Starting...' / frozen bar)
2026-06-12 19:38:30 -07:00
database_update_worker.py
db_integrity.py
debug_info.py
deezer_client.py
Lint: log instead of bare except-pass in two best-effort paths (ruff S110)
2026-06-21 22:47:11 -07:00
deezer_download_client.py
Deezer playlists: tag the REAL album track number, not the playlist index
2026-06-21 15:47:13 -07:00
deezer_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
discogs_client.py
Cache artist album lists across metadata sources
2026-06-11 22:33:04 +02:00
discogs_worker.py
Discogs: fix master/release ID collision fetching the wrong album
2026-06-10 15:01:31 +02:00
download_orchestrator.py
genius_client.py
Genius 429 backoff: fail-fast gate instead of napping the import pipeline
2026-06-06 20:51:33 -07:00
genius_worker.py
genre_filter.py
hifi_client.py
Lint: log instead of bare except-pass in two best-effort paths (ruff S110)
2026-06-21 22:47:11 -07:00
hydrabase_client.py
hydrabase_worker.py
image_cache.py
itunes_client.py
Cache artist album lists across metadata sources
2026-06-11 22:33:04 +02:00
itunes_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
jellyfin_client.py
Sync: append mode actually dedupes — stop re-adding the whole playlist ( #823 )
2026-06-09 16:31:05 -07:00
lastfm_client.py
lastfm_worker.py
library_reorganize.py
#891 : clear dead folders left with only cover images / .lrc sidecars
2026-06-18 20:07:41 -07:00
lidarr_download_client.py
listenbrainz_client.py
listenbrainz_manager.py
listening_stats_worker.py
lyrics_client.py
Lyrics: add a "Lyrics Filler" maintenance job + lyrics option in the Re-tag tool (Sokhi)
2026-06-07 17:27:52 -07:00
matching_engine.py
fix: treat colon as separator in normalize_string so T:T matches T_T
2026-06-12 12:54:03 +02:00
metadata_service.py
musicbrainz_client.py
musicbrainz_search.py
musicbrainz_service.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
musicbrainz_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
navidrome_client.py
Navidrome: self-heal the connection instead of latching disconnected (jimmydotcom)
2026-06-11 21:34:48 -07:00
personalized_playlists.py
Blocklist Phase 1 (backend): artist/album/track bans enforced at the wishlist chokepoint
2026-06-07 15:18:25 -07:00
plex_client.py
profile_context.py
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
2026-06-10 15:37:56 -07:00
prowlarr_client.py
qobuz_client.py
qobuz_worker.py
reorganize_queue.py
reorganize_runner.py
repair_worker.py
#891 : clear dead folders left with only cover images / .lrc sidecars
2026-06-18 20:07:41 -07:00
replaygain.py
runtime_state.py
seasonal_discovery.py
similar_artists_worker.py
socketio_cors.py
soulid_worker.py
soulseek_client.py
#886 : AAC as an opt-in Soulseek quality tier (purely additive, off by default)
2026-06-18 13:45:52 -07:00
soulsync_client.py
soundcloud_client.py
#865 : resolve pasted SoundCloud links (incl. unlisted/private share URLs) via direct yt-dlp resolve; manual-search forces the SoundCloud source
2026-06-13 00:41:47 -07:00
source_ids.py
spotify_client.py
Cache artist album lists across metadata sources
2026-06-11 22:33:04 +02:00
spotify_free_metadata.py
Spotify Free: close the album-search gap via the artist's discography
2026-06-09 12:05:40 -07:00
spotify_public_api.py
spotify_public_scraper.py
spotify_token_cache.py
Spotify tokens move into the database — daily Docker deauth fixed (wolf39us)
2026-06-07 12:01:33 -07:00
spotify_worker.py
#887 : Spotify enrichment shows 'Running (Spotify Free)' for no-auth users, not 'Not Authenticated'
2026-06-18 13:00:33 -07:00
tag_writer.py
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
2026-06-11 01:27:29 +02:00
tidal_client.py
#880 : retry 429 mid-walk when paginating Tidal Favorite Tracks (don't truncate)
2026-06-15 19:56:53 -07:00
tidal_download_client.py
fix(tidal): honour version field in matching and back off on rate limits
2026-06-08 13:50:19 -04:00
tidal_worker.py
watchlist_scanner.py
Watchlist: per-artist 'auto-download' toggle (follow-only) — off = discover/surface releases but skip the wishlist add; default on
2026-06-13 08:07:20 -07:00
web_scan_manager.py
wishlist_service.py
Extract wishlist logic into dedicated package
2026-04-28 21:17:24 +03:00
worker_utils.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2026-06-13 14:57:17 -07:00
youtube_client.py
YouTube: ship the JS runtime + nightly yt-dlp so streams/music videos work out of the box
2026-06-06 16:50:24 -07:00
youtube_track_meta.py
#863 : derive YouTube track artist from music fields / -Topic channel / 'Artist - Title' instead of the playlist owner
2026-06-12 20:14:55 -07:00