| .. |
|
artists
|
Complete MusicBrainz watchlist source parity
|
4 weeks ago |
|
automation
|
Playlists: mirror-update trigger prunes removed tracks (the other half)
|
5 days ago |
|
blocklist
|
Blocklist Phase 1 (backfill + API + modal): the Blocklist button on the watchlist page
|
1 week ago |
|
credentials
|
Profiles: review fixes — close two gating gaps + reject whitespace secrets
|
1 week ago |
|
diagnostics
|
#802: on-demand memory-growth diagnostic (tracemalloc, browser-drivable)
|
2 weeks ago |
|
discovery
|
#702: make mirrored-playlist cancel/reset/delete idempotent (un-wedge LB weekly sync)
|
6 days ago |
|
download_engine
|
Add module logger + surface silent exceptions in 7 logger-less files — 12 sites
|
1 month ago |
|
download_plugins
|
Torrents: fix stall handling on "downloading metadata" + stop orphaning in qbit
|
6 days ago |
|
downloads
|
Playlists: all-owned trigger makes batch dict authoritative + logs when nothing rebuilt
|
5 days ago |
|
enrichment
|
Import speed: downloads pause ALL enrichment workers, discovery pauses the contention five
|
2 weeks ago |
|
exports
|
Library export: export the whole library roster too (corruption's request)
|
5 days ago |
|
imports
|
Downloads: additively surface each track's real file path (analysis + completed)
|
5 days ago |
|
library
|
Orphan detector: hard-bail on a mass-orphan flood instead of warn-only
|
5 days ago |
|
maintenance
|
Add one-off repair for source ids shared across multiple artists
|
2 weeks ago |
|
matching
|
#845 tests: lift history-path resolver to core/ + seam-test the delete-safety
|
6 days ago |
|
media_server
|
Server playlist sync: append mode (preserve user-added tracks)
|
1 month ago |
|
metadata
|
Cache artist album lists across metadata sources
|
6 days ago |
|
personalized
|
Personalized pipeline: auto-refresh stale snapshots after watchlist scan
|
1 month ago |
|
playback
|
Player: log SoulSync web-player plays (recently-played + smart-radio recency)
|
3 weeks ago |
|
playlists
|
Playlists: resolve synthetic mirrored batch refs (youtube_mirrored_<pk>/auto_mirror_<pk>) to PK
|
5 days ago |
|
radio
|
Player revamp Phase 2: smart radio ranking (play-count + popularity)
|
3 weeks ago |
|
repair_jobs
|
Orphan detector: hard-bail on a mass-orphan flood instead of warn-only
|
5 days ago |
|
search
|
Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93)
|
1 week ago |
|
security
|
Login mode: enforce "every profile has a password" at every write-point (no gaps)
|
6 days ago |
|
stats
|
Surface silent exceptions across remaining modules — ~70 sites
|
1 month ago |
|
streaming
|
#809 Navidrome playback: stream via the server's API when the library isn't mounted on disk
|
1 week ago |
|
sync
|
Sync: append mode actually dedupes — stop re-adding the whole playlist (#823)
|
1 week ago |
|
text
|
Matcher: bracketed subtitles no longer read as different songs (#825)
|
1 week ago |
|
torrent_clients
|
Add Aria2 to the torrent client list (Shdjfgatdif's request)
|
5 days ago |
|
usenet_clients
|
Fix: Usenet bundle stuck at 99%/100% — SAB reports post-processing in History as non-terminal (#721)
|
3 weeks ago |
|
watchlist
|
Complete MusicBrainz watchlist source parity
|
4 weeks ago |
|
webui
|
Extract WebUI asset helpers
|
1 month ago |
|
wishlist
|
Wishlist: manual "add to wishlist" now skips already-owned tracks (#825)
|
1 week ago |
|
workers
|
Final silent-exception sweep + ruff S110 lint guardrail — ~45 sites
|
1 month ago |
|
acoustid_client.py
|
AcoustID: report errors honestly instead of masking them as 'Skipped'
|
2 weeks ago |
|
acoustid_verification.py
|
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
|
7 days ago |
|
album_consistency.py
|
Surface silent exceptions across remaining modules — ~70 sites
|
1 month ago |
|
amazon_client.py
|
Fix #759: Amazon enrichment floods when its public proxy is down
|
2 weeks ago |
|
amazon_download_client.py
|
Amazon download client: write final size==transferred before returning file path
|
1 month ago |
|
amazon_outage.py
|
Fix #759: Amazon enrichment floods when its public proxy is down
|
2 weeks ago |
|
amazon_worker.py
|
Enrichment manager: 'process this group first' + refined hero header
|
2 weeks ago |
|
api_call_tracker.py
|
Wire Amazon Music as a first-class download source
|
1 month ago |
|
archive_pipeline.py
|
fix(downloads): harden album bundle staging
|
4 weeks ago |
|
artist_source_detail.py
|
Fix MusicBrainz artist detail showing MBID as name
|
4 weeks ago |
|
artist_source_lookup.py
|
Fix artist-detail showing wrong artist when a source id is duplicated
|
2 weeks ago |
|
audiodb_client.py
|
…
|
|
|
audiodb_worker.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
auto_import_worker.py
|
Fix import artist override and verification review
|
7 days ago |
|
automation_engine.py
|
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
|
7 days ago |
|
connection_detect.py
|
Final silent-exception sweep + ruff S110 lint guardrail — ~45 sites
|
1 month ago |
|
connection_test.py
|
Add torrent and usenet release staging support
|
4 weeks ago |
|
database_update_worker.py
|
Run auto-reconcile as a scan phase inside the running window
|
2 weeks ago |
|
db_integrity.py
|
DB backups: verify integrity + never evict the last good backup
|
3 weeks ago |
|
debug_info.py
|
Fix Copy Debug Info music_source + surface missing services
|
1 month ago |
|
deezer_client.py
|
#853 follow-up: don't cache a partial Deezer discography on mid-pagination error
|
6 days ago |
|
deezer_download_client.py
|
…
|
|
|
deezer_worker.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
discogs_client.py
|
Cache artist album lists across metadata sources
|
6 days ago |
|
discogs_worker.py
|
Discogs: fix master/release ID collision fetching the wrong album
|
1 week ago |
|
download_orchestrator.py
|
Fix Usenet settings reload without restart
|
4 weeks ago |
|
genius_client.py
|
Genius 429 backoff: fail-fast gate instead of napping the import pipeline
|
2 weeks ago |
|
genius_worker.py
|
Enrichment manager: 'process this group first' + refined hero header
|
2 weeks ago |
|
genre_filter.py
|
…
|
|
|
hifi_client.py
|
Log exception when inferring HiFi manifest ext
|
4 weeks ago |
|
hydrabase_client.py
|
feat: add explicit badges to discography modal and artist-detail cards
|
1 month ago |
|
hydrabase_worker.py
|
…
|
|
|
image_cache.py
|
Image cache: reject truncated downloads instead of caching broken covers (#750)
|
3 weeks ago |
|
itunes_client.py
|
Cache artist album lists across metadata sources
|
6 days ago |
|
itunes_worker.py
|
Full release dates: store + write yyyy-mm-dd end to end (#824 part 2)
|
1 week ago |
|
jellyfin_client.py
|
Sync: append mode actually dedupes — stop re-adding the whole playlist (#823)
|
1 week ago |
|
lastfm_client.py
|
…
|
|
|
lastfm_worker.py
|
Enrichment manager: 'process this group first' + refined hero header
|
2 weeks ago |
|
library_reorganize.py
|
#767-2: reorganize finds the right album edition instead of mislabeling singles as deluxe
|
2 weeks ago |
|
lidarr_download_client.py
|
Surface silent exceptions across remaining modules — ~70 sites
|
1 month ago |
|
listenbrainz_client.py
|
…
|
|
|
listenbrainz_manager.py
|
Auto-Sync: fix LB pipelines stuck on "Refreshing:" for 5+ minutes
|
3 weeks ago |
|
listening_stats_worker.py
|
Final silent-exception sweep + ruff S110 lint guardrail — ~45 sites
|
1 month ago |
|
lyrics_client.py
|
Lyrics: add a "Lyrics Filler" maintenance job + lyrics option in the Re-tag tool (Sokhi)
|
1 week ago |
|
matching_engine.py
|
fix(tidal): honour version field in matching and back off on rate limits
|
1 week ago |
|
metadata_service.py
|
Add MusicBrainz as a metadata source
|
4 weeks ago |
|
musicbrainz_client.py
|
MusicBrainz manual search: field-scope the artist in non-strict mode (#754)
|
2 weeks ago |
|
musicbrainz_search.py
|
Fix: MusicBrainz artist discography capped at 25 releases
|
3 weeks ago |
|
musicbrainz_service.py
|
Cover art: a numeric difference is a different release — Vol.4 stops wearing Vol.4.5's cover
|
1 week ago |
|
musicbrainz_worker.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
navidrome_client.py
|
Navidrome: self-heal the connection instead of latching disconnected (jimmydotcom)
|
5 days ago |
|
personalized_playlists.py
|
Blocklist Phase 1 (backend): artist/album/track bans enforced at the wishlist chokepoint
|
1 week ago |
|
plex_client.py
|
Fix #792: 'reconcile' playlist sync mode (edit in place, keep image/description)
|
2 weeks ago |
|
profile_context.py
|
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
|
7 days ago |
|
prowlarr_client.py
|
feat(settings): add Prowlarr integration as indexer aggregator
|
4 weeks ago |
|
qobuz_client.py
|
Fetch all Qobuz favorite tracks for discovery
|
3 weeks ago |
|
qobuz_worker.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
reorganize_queue.py
|
Reorganize: optional embedded-tag mode (closes #592)
|
1 month ago |
|
reorganize_runner.py
|
Reorganize: optional embedded-tag mode (closes #592)
|
1 month ago |
|
repair_worker.py
|
Add Empty Folder Cleaner library-maintenance job (corruption's request)
|
5 days ago |
|
replaygain.py
|
Add module logger + surface silent exceptions in 7 logger-less files — 12 sites
|
1 month ago |
|
runtime_state.py
|
Add module logger + surface silent exceptions in 7 logger-less files — 12 sites
|
1 month ago |
|
seasonal_discovery.py
|
Fix source artist detail navigation from discover modals
|
4 weeks ago |
|
similar_artists_worker.py
|
Lint: fix ruff B905 (zip strict=) + S110 (try/except/pass) in similar-artists worker + perf endpoint
|
2 weeks ago |
|
socketio_cors.py
|
…
|
|
|
soulid_worker.py
|
Surface silent exceptions in workers + repair jobs — ~30 sites
|
1 month ago |
|
soulseek_client.py
|
Fix #796: Soulseek album bundle left completed files in slskd download folder
|
2 weeks ago |
|
soulsync_client.py
|
Surface silent exceptions across remaining modules — ~70 sites
|
1 month ago |
|
soundcloud_client.py
|
…
|
|
|
source_ids.py
|
Source IDs: add canonical registry, adopt at the highest-value sites
|
3 weeks ago |
|
spotify_client.py
|
Cache artist album lists across metadata sources
|
6 days ago |
|
spotify_free_metadata.py
|
Spotify Free: close the album-search gap via the artist's discography
|
1 week ago |
|
spotify_public_api.py
|
SpotipyFree integration confirmed working (236 tracks live); deps + meta tweak
|
2 weeks ago |
|
spotify_public_scraper.py
|
Diagnostics: route public-fetch logs to soulsync namespace + log HTTP status
|
2 weeks ago |
|
spotify_token_cache.py
|
Spotify tokens move into the database — daily Docker deauth fixed (wolf39us)
|
1 week ago |
|
spotify_worker.py
|
Spotify: rename "Spotify Free" → "Spotify (no auth)", default enrichment to it
|
1 week ago |
|
tag_writer.py
|
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
|
7 days ago |
|
tidal_client.py
|
Your Albums: selectable wishlist modal + Tidal album resolution
|
1 month ago |
|
tidal_download_client.py
|
fix(tidal): honour version field in matching and back off on rate limits
|
1 week ago |
|
tidal_worker.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
watchlist_scanner.py
|
Watchlist: show WHICH tracks a scan found/added + group Download Origins (#831)
|
1 week ago |
|
web_scan_manager.py
|
…
|
|
|
wishlist_service.py
|
…
|
|
|
worker_utils.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
youtube_client.py
|
YouTube: ship the JS runtime + nightly yt-dlp so streams/music videos work out of the box
|
2 weeks ago |