..
artists
…
automation
Remove old auto-acting Quality Scanner tool (replaced by Quality Upgrade Finder job)
2 weeks ago
blocklist
Blocklist Phase 1 (backfill + API + modal): the Blocklist button on the watchlist page
3 weeks ago
credentials
Profiles: review fixes — close two gating gaps + reject whitespace secrets
3 weeks ago
diagnostics
#802 : on-demand memory-growth diagnostic (tracemalloc, browser-drivable)
3 weeks ago
discovery
#913 : add group_similars_by_seed assembly helper (pure, tested)
5 days ago
download_engine
…
download_plugins
Torrents: fix stall handling on "downloading metadata" + stop orphaning in qbit
3 weeks ago
downloads
#915 : post-processing hydrates lean album context from the PRIMARY source (parity with Reorganize)
6 days ago
enrichment
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
exports
#903 : real source wiring for the export MBID waterfall
7 days ago
imports
#922 : import search labelled Spotify Free users' primary source as 'Deezer'
5 days ago
library
#915 : redownload pulls full album_data from the primary source for iTunes/Deezer too
6 days ago
maintenance
Add one-off repair for source ids shared across multiple artists
3 weeks ago
matching
#845 tests: lift history-path resolver to core/ + seam-test the delete-safety
3 weeks ago
media_server
…
metadata
#922 : import search labelled Spotify Free users' primary source as 'Deezer'
5 days ago
personalized
…
playback
Player: log SoulSync web-player plays (recently-played + smart-radio recency)
4 weeks ago
playlists
#901 : give file-import playlist tracks a stable id so manual matches stick
7 days ago
radio
Player revamp Phase 2: smart radio ranking (play-count + popularity)
1 month ago
repair_jobs
#912 : Empty Folder Cleaner reads its opt-in from the right config key
6 days ago
search
Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93)
3 weeks ago
security
Login mode: enforce "every profile has a password" at every write-point (no gaps)
3 weeks ago
stats
…
streaming
#809 Navidrome playback: stream via the server's API when the library isn't mounted on disk
3 weeks ago
sync
Sync detail modal: click '→ Wishlist' to re-add a track with the original context
5 days ago
text
Cover art: a sequel digit glued to a CJK title ('…サウンドトラック2') now blocks the wrong-album match
2 weeks ago
torrent_clients
Add Aria2 to the torrent client list (Shdjfgatdif's request)
2 weeks ago
usenet_clients
NZBGet: import from the final location, not the incomplete '….#NZBID' dir
2 weeks ago
watchlist
…
webui
…
wishlist
#897 : surface the ignore-list on the wishlist page + stop blocking manual re-adds
1 week ago
workers
…
acoustid_client.py
AcoustID: report errors honestly instead of masking them as 'Skipped'
4 weeks ago
acoustid_verification.py
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
3 weeks ago
album_consistency.py
…
amazon_client.py
Fix #759 : Amazon enrichment floods when its public proxy is down
4 weeks ago
amazon_download_client.py
…
amazon_outage.py
Fix #759 : Amazon enrichment floods when its public proxy is down
4 weeks ago
amazon_worker.py
Enrichment manager: 'process this group first' + refined hero header
4 weeks ago
api_call_tracker.py
…
archive_pipeline.py
…
artist_source_detail.py
…
artist_source_lookup.py
Fix artist-detail showing wrong artist when a source id is duplicated
3 weeks ago
audiodb_client.py
…
audiodb_worker.py
Tighten artist matching: 0.85 gate + shared uniqueness guard
3 weeks ago
auto_import_worker.py
#889 : FIX data loss — re-identify to the same release no longer deletes the file
2 weeks ago
automation_engine.py
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
3 weeks ago
connection_detect.py
…
connection_test.py
Spotify (no-auth): report connected + 'Spotify (no-auth)' test result instead of a Deezer fallback
2 weeks ago
database_update_health.py
#859 : DB-update stall watchdog + UI self-heal (no more wedged 'Starting...' / frozen bar)
2 weeks ago
database_update_worker.py
Run auto-reconcile as a scan phase inside the running window
3 weeks ago
db_integrity.py
DB backups: verify integrity + never evict the last good backup
4 weeks ago
debug_info.py
…
deezer_client.py
Lint: log instead of bare except-pass in two best-effort paths (ruff S110)
1 week ago
deezer_download_client.py
Deezer playlists: tag the REAL album track number, not the playlist index
1 week ago
deezer_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
discogs_client.py
Cache artist album lists across metadata sources
3 weeks ago
discogs_worker.py
Discogs: fix master/release ID collision fetching the wrong album
3 weeks ago
download_orchestrator.py
…
genius_client.py
Genius 429 backoff: fail-fast gate instead of napping the import pipeline
3 weeks ago
genius_worker.py
Enrichment manager: 'process this group first' + refined hero header
4 weeks ago
genre_filter.py
…
hifi_client.py
Lint: log instead of bare except-pass in two best-effort paths (ruff S110)
1 week ago
hydrabase_client.py
…
hydrabase_worker.py
…
image_cache.py
Image cache: reject truncated downloads instead of caching broken covers ( #750 )
4 weeks ago
itunes_client.py
#918 follow-up: self-heal stale truncated iTunes album-tracks cache
5 days ago
itunes_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
jellyfin_client.py
Align playlists: add Jellyfin support (in-place reorder via Move endpoint)
5 days ago
lastfm_client.py
…
lastfm_worker.py
Enrichment manager: 'process this group first' + refined hero header
4 weeks ago
library_reorganize.py
#914 : Reorganize matches bare local titles to iTunes '(feat. X)' tracks
6 days ago
lidarr_download_client.py
…
listenbrainz_client.py
#903 : re-export updates the same ListenBrainz playlist in place (no duplicates)
6 days ago
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)
3 weeks ago
matching_engine.py
fix: treat colon as separator in normalize_string so T:T matches T_T
2 weeks ago
metadata_service.py
#922 : import search labelled Spotify Free users' primary source as 'Deezer'
5 days ago
musicbrainz_client.py
MusicBrainz manual search: field-scope the artist in non-strict mode ( #754 )
4 weeks ago
musicbrainz_search.py
Fix: MusicBrainz artist discography capped at 25 releases
1 month ago
musicbrainz_service.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
musicbrainz_worker.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
navidrome_client.py
Align playlists: reorder a server playlist to the source order (Navidrome)
5 days ago
personalized_playlists.py
Blocklist Phase 1 (backend): artist/album/track bans enforced at the wishlist chokepoint
3 weeks ago
plex_client.py
Align playlists: add Plex support + cover art + modal redesign
5 days ago
profile_context.py
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
3 weeks ago
prowlarr_client.py
…
qobuz_client.py
…
qobuz_worker.py
Tighten artist matching: 0.85 gate + shared uniqueness guard
3 weeks ago
reorganize_queue.py
…
reorganize_runner.py
…
repair_worker.py
#891 : clear dead folders left with only cover images / .lrc sidecars
2 weeks ago
replaygain.py
…
runtime_state.py
…
seasonal_discovery.py
…
similar_artists_worker.py
Lint: fix ruff B905 (zip strict=) + S110 (try/except/pass) in similar-artists worker + perf endpoint
4 weeks ago
socketio_cors.py
…
soulid_worker.py
…
soulseek_client.py
#886 : AAC as an opt-in Soulseek quality tier (purely additive, off by default)
2 weeks ago
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
2 weeks ago
source_ids.py
Source IDs: add canonical registry, adopt at the highest-value sites
1 month ago
spotify_client.py
Cache artist album lists across metadata sources
3 weeks ago
spotify_free_metadata.py
Spotify Free: close the album-search gap via the artist's discography
3 weeks ago
spotify_public_api.py
SpotipyFree integration confirmed working (236 tracks live); deps + meta tweak
4 weeks ago
spotify_public_scraper.py
Diagnostics: route public-fetch logs to soulsync namespace + log HTTP status
4 weeks ago
spotify_token_cache.py
Spotify tokens move into the database — daily Docker deauth fixed (wolf39us)
3 weeks ago
spotify_worker.py
#887 : Spotify enrichment shows 'Running (Spotify Free)' for no-auth users, not 'Not Authenticated'
2 weeks ago
tag_writer.py
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
3 weeks ago
tidal_client.py
#880 : retry 429 mid-walk when paginating Tidal Favorite Tracks (don't truncate)
2 weeks ago
tidal_download_client.py
fix(tidal): honour version field in matching and back off on rate limits
3 weeks ago
tidal_worker.py
Tighten artist matching: 0.85 gate + shared uniqueness guard
3 weeks ago
watchlist_scanner.py
#913 phase 1: generate listening recommendations during the watchlist scan
5 days ago
web_scan_manager.py
…
wishlist_service.py
…
worker_utils.py
#868 : disambiguate same-name artists by owned-catalog overlap during enrichment
2 weeks ago
youtube_client.py
YouTube: ship the JS runtime + nightly yt-dlp so streams/music videos work out of the box
3 weeks ago
youtube_cookies.py
#902 : YouTube Liked Music sync — paste a cookies.txt (server/Docker auth)
7 days ago
youtube_track_meta.py
#863 : derive YouTube track artist from music fields / -Topic channel / 'Artist - Title' instead of the playlist owner
2 weeks ago