..
artists
Direct ID lookup in Enhance Quality, like Download Discography
1 month ago
automation
Fix standalone mirrored playlist sync and post-sync downloads.
1 week ago
database
Preserve Navidrome album cover art
3 weeks ago
discovery
Fix standalone mirrored playlist sync and post-sync downloads.
1 week ago
downloads
Fix organize-by-playlist downloads: library entries, wishlist, and stale Spotify cache
1 week ago
enrichment
Enrichment manager: 6 UX improvements
1 week ago
imports
Remove the old Retag Tool (superseded by Library Re-tag job + Write Tags)
1 week ago
library
Fix CI: remove orphaned tests for the deleted retag worker
1 week ago
matching
AcoustID: report errors honestly instead of masking them as 'Skipped'
2 weeks ago
media_server
Navidrome: pin music-folder selection by id, not name (survives renames)
1 week ago
metadata
Cover-art sources: skip low-res art (min-resolution guard) + max-res iTunes
2 weeks ago
playback
Player: log SoulSync web-player plays (recently-played + smart-radio recency)
2 weeks ago
playlists
Expose mirrored playlist source-ref health
3 weeks ago
radio
Player revamp Phase 2: smart radio ranking (play-count + popularity)
2 weeks ago
search
Basic search: visual overhaul + per-source picker in hybrid mode
2 weeks ago
static
Fix: mirrored playlist action buttons dead when name has an apostrophe
2 weeks ago
stats
Lift /api/stats/* and /api/listening-stats/* into core/stats/
2 months ago
streaming
Player revamp Phase 3a: extract stream state into testable per-session store
2 weeks ago
sync
Fix #787 : Find & Add now records a durable manual match that survives a rescan
1 week ago
text
Address Cin review: extract helpers, indexed pool fetch, tidy nits
3 weeks ago
tools
test(amazon): update search_albums test for derived-from-tracks behavior
3 weeks ago
watchlist
Complete MusicBrainz watchlist source parity
4 weeks ago
webui
Fix missing album placeholder asset path
3 weeks ago
wishlist
Fix organize-by-playlist downloads: library entries, wishlist, and stale Spotify cache
1 week ago
conftest.py
tests: isolate the database so the suite can never touch the real DB
2 weeks ago
test_acoustid_error_reporting.py
AcoustID: report errors honestly instead of masking them as 'Skipped'
2 weeks ago
test_acoustid_scanner.py
AcoustID scanner: multi-candidate match + duration guard + multi-value retag
4 weeks ago
test_acoustid_skip_logic.py
AcoustID: report errors honestly instead of masking them as 'Skipped'
2 weeks ago
test_acoustid_version_mismatch.py
AcoustID: report errors honestly instead of masking them as 'Skipped'
2 weeks ago
test_album_bundle.py
Album picker #730 : add word-boundary full-phrase bonus (from PR #731 review)
2 weeks ago
test_album_bundle_dispatch.py
Album bundle: fall back to per-track on an I/O error, don't hard-fail the batch
2 weeks ago
test_album_completeness_job.py
Fix: maintenance findings badge inflated when scan dedup-skipped
1 month ago
test_album_mbid_consistency.py
Update mbid consistency test mock to match new create_finding bool contract
1 month ago
test_amazon_outage.py
Fix #759 : Amazon enrichment floods when its public proxy is down
2 weeks ago
test_archive_pipeline.py
feat(downloads): add archive_pipeline module for torrent/usenet downloads
3 weeks ago
test_art_apply.py
Cover Art Filler: skip files that already have art (keep apply purely additive)
1 week ago
test_art_preservation.py
Fix #764 : import no longer destroys embedded cover art
1 week ago
test_artist_full_detail_source_id.py
Fix: enhanced artist view 404s for library artists opened via source ID
2 weeks ago
test_artist_top_tracks_clients.py
Add download buttons + bulk action to artist top-tracks sidebar
1 month ago
test_audiodb_worker_stuck_track.py
AudioDB worker: stop infinite loop on direct-ID lookup failure ( #553 )
1 month ago
test_auth_usage_throttle.py
test: auth last_used_at write throttle
2 months ago
test_auto_sync_js.py
Add node:test contract for auto-sync.js helpers
3 weeks ago
test_canonical_columns_migration.py
Canonical album version — Stage 1: schema + pure scorer (dormant)
1 week ago
test_canonical_db.py
Canonical album version — Stage 2 (core): resolver + persistence (dormant)
1 week ago
test_canonical_orchestration.py
Canonical findings: include as much (free) data as possible
1 week ago
test_canonical_resolver.py
Canonical: richer, judge-able findings (the why behind a pin)
1 week ago
test_canonical_version.py
Canonical album version — Stage 1: schema + pure scorer (dormant)
1 week ago
test_canonical_version_job.py
Repair settings: dropdown for fixed-choice settings (canonical source_selection)
1 week ago
test_config_save_retry.py
Stop config retry tests from writing to the real DB
1 month ago
test_content_filter_regex.py
Fix watchlist content filters: live false positives + auto-scan bypass
2 months ago
test_create_finding_dedup_counter.py
Repair job card badge — show pending count, not last-scan count
1 month ago
test_dashboard_events.py
Realign test file names
2 months ago
test_database_io_resilience.py
Handle transient SQLite IO during maintenance
3 weeks ago
test_db_genres_json_normalization.py
DB: normalize legacy comma-separated genres to canonical JSON
2 weeks ago
test_db_integrity.py
DB backups: verify integrity + never evict the last good backup
2 weeks ago
test_db_isolation_guard.py
tests: isolate the database so the suite can never touch the real DB
2 weeks ago
test_db_migration_ledger.py
DB: add schema_migrations ledger + PRAGMA user_version backstop
2 weeks ago
test_db_watchlist_amazon_id_migration.py
DB: stop watchlist_artists rebuilds from dropping amazon_artist_id
2 weeks ago
test_debug_info_services.py
Fix Copy Debug Info music_source + surface missing services
1 month ago
test_discogs_collection_source.py
Discogs: strip artist disambiguation suffixes at every name surface ( #634 )
2 weeks ago
test_discogs_track_count.py
Discogs: count rows with empty type_ as real tracks too
2 months ago
test_discover_section_controller_js.py
Discover controller — Cin pre-review polish
1 month ago
test_download_orchestrator_soundcloud.py
Cin-5: Drop per-source attrs from orchestrator
1 month ago
test_download_plugin_conformance.py
Add torrent usenet PR notes and test updates
3 weeks ago
test_downloads_pagination.py
Lift shared runtime state into core
2 months ago
test_duplicate_detector_mount_paths.py
Filter same-physical-file duplicates from duplicate detector
1 month ago
test_duplicate_detector_slskd_dedup.py
Fix: maintenance findings badge inflated when scan dedup-skipped
1 month ago
test_duplicate_keep.py
Fix: duplicate detector kept lossy over lossless (rank format first)
2 weeks ago
test_embed_known_source_ids.py
Library re-tag: seam tests for the job scan, apply handler, and source-id embed
1 week ago
test_enrichment_art_preservation.py
Fix #764 : import no longer destroys embedded cover art
1 week ago
test_enrichment_services.py
Consolidate enrichment bubble routes behind a service registry
1 month ago
test_featured_artist_completion.py
Match featured-artist tracks across discography completion
1 month ago
test_hifi_instance_methods.py
Fix "no such table: hifi_instances" via defensive lazy-create
1 month ago
test_hls_parsing.py
fix: pick OS-specific ffmpeg binary in hls demux fallback test
1 month ago
test_image_cache.py
Image cache: reject truncated downloads instead of caching broken covers ( #750 )
2 weeks ago
test_import_album_match_endpoint.py
Lift auto-import matching to testable helper + pin contracts
1 month ago
test_import_singles_parallel.py
Restore soulsync logger state between parallel-imports tests
1 month ago
test_integrity_failure_marks_task_failed.py
Fix: tasks showed Completed when file was quarantined
1 month ago
test_lb_series_detect.py
Roll LB Weekly / Top series into single rolling mirrors (Phase 1c.2.1)
2 weeks ago
test_library_disk_usage.py
Repair stale media schema during refresh
3 weeks ago
test_library_reorganize.py
Rewrite Library Reorganize job to delegate to per-album planner
1 month ago
test_library_reorganize_orchestrator.py
Fix #767 : Library Organizer dry run no longer creates folders
1 week ago
test_library_retag_job.py
Library Re-tag: pull cover art from the configured cover-art sources
1 week ago
test_library_tag_payload.py
Add _build_library_tag_db_data helper
3 weeks ago
test_library_track_identity.py
Make extract_external_ids recognize all source-tagging conventions
1 month ago
test_lidarr_download_client.py
Fix three Lidarr bugs that prevented it from being a real download source
1 month ago
test_listenbrainz_manager.py
Auto-Sync: fix LB pipelines stuck on "Refreshing:" for 5+ minutes
2 weeks ago
test_listening_stats_batch_queries.py
test: listening stats worker batched query paths
2 months ago
test_lyrics_reembed_from_sidecar.py
Fix CI: drop dead RetagDeps tests + pointless f-string
1 week ago
test_manual_library_match.py
Fix #787 : Find & Add now records a durable manual match that survives a rescan
1 week ago
test_manual_pick_no_auto_retry.py
Add torrent and usenet release staging support
3 weeks ago
test_manual_search_endpoint.py
Manual picks: stream results, don't auto-retry, fix stuck-at-0%
1 month ago
test_matching_engine_cjk.py
Fix: duplicate tracks in albums with Japanese / CJK titles ( #722 )
2 weeks ago
test_metadata_cache_table_recreate.py
Fix: metadata cache tables silently missing after DB recovery (stale migration marker)
2 weeks ago
test_missing_cover_art.py
Cover Art Filler: honor the configured cover-art sources too
1 week ago
test_navidrome_cover_url.py
Fix #766 : Navidrome album covers blank in the sync editor (+ other modals)
1 week ago
test_orphan_file_detector.py
Fix Picard albumartist orphan false positives
3 weeks ago
test_personalized_api.py
Personalized playlists (3/N): standardized API endpoints
4 weeks ago
test_personalized_generators_curated.py
Personalized playlists (2/N): all 8 generators wired through manager
4 weeks ago
test_personalized_generators_singletons.py
Personalized playlists (2/N): all 8 generators wired through manager
4 weeks ago
test_personalized_generators_variants.py
Personalized playlists (2/N): all 8 generators wired through manager
4 weeks ago
test_personalized_manager.py
Personalized pipeline: auto-refresh stale snapshots after watchlist scan
4 weeks ago
test_personalized_playlists_id_gate.py
Discover: sharpen track selection (diversity, source-aware popularity, library dedup, SQL genre)
1 month ago
test_playlist_edit.py
Fix #768 : playlist sync editor refusing to match certain tracks
1 week ago
test_playlist_reconcile.py
#766 follow-on: source rows borrow their matched server track's cover
1 week ago
test_playlist_sources_adapters.py
Auto-Sync: fix LB pipelines stuck on "Refreshing:" for 5+ minutes
2 weeks ago
test_provenance_id_persistence.py
Persist source IDs at download time + backfill onto tracks on sync
1 month ago
test_prowlarr_client.py
test: cover Prowlarr + torrent + usenet adapters
3 weeks ago
test_qobuz_credential_sync.py
Address Copilot review nits
1 month ago
test_qobuz_playlists.py
Fetch all Qobuz favorite tracks for discovery
3 weeks ago
test_recommendation_sources.py
Recommendations: explain WHICH of your artists drive each suggestion
1 week ago
test_reorganize_canonical_source.py
Canonical album version — Stage 3: Reorganizer prefers pinned canonical (read)
1 week ago
test_reorganize_db_methods.py
Reorganize queue: race + dedupe fixes from kettui review
2 months ago
test_reorganize_deleted_quarantine.py
Reorganize: skip files in the duplicate-cleaner /deleted quarantine ( #746 )
2 weeks ago
test_reorganize_orphan_format_handling.py
Reorganize: move orphan-format siblings alongside the canonical
1 month ago
test_reorganize_queue.py
Reorganize queue: race + dedupe fixes from kettui review
2 months ago
test_reorganize_runner.py
Library reorganize: FIFO queue with live status panel
2 months ago
test_reorganize_tag_source.py
Reorganize: optional embedded-tag mode ( closes #592 )
4 weeks ago
test_reorganize_unknown_artist_hint.py
Reorganize: hint at Unknown Artist Fixer for placeholder-metadata rows
1 month ago
test_repair_worker_album_fill.py
fix(album-completeness): block cross-artist auto-fill
3 weeks ago
test_repair_worker_unresolvable_folder_error.py
Album Completeness: surface diagnostic when resolver can't find album folder
1 month ago
test_replaygain_summary_parse.py
Fix: ReplayGain wrote same +52 dB gain to every track
1 month ago
test_request_cleanup_timer.py
test: api/request periodic cleanup timer
2 months ago
test_resolve_mirrored_playlist.py
Fix #780 : Deezer/non-Spotify organize-by-playlist resolved the wrong row
1 week ago
test_retag_planner.py
Library re-tag (1/3): pure planner — match source tracklist + per-field tag diff
1 week ago
test_runtime_state.py
Tighten metadata and import safety
2 months ago
test_scan_wait_action.py
Fix: deep-scan / DB-update automation falsely errors on large libraries (stall-based timeout)
2 weeks ago
test_script_split_integrity.py
test: register enrichment-manager.js in script-split-integrity scan
1 week ago
test_server_playlist_append_mode.py
Server playlist sync: append mode (preserve user-added tracks)
1 month ago
test_similar_artists_status_codes.py
Fix: MusicMap 404s miscounted as errors in similar-artists worker
1 week ago
test_similar_artists_worker.py
Similar Artists worker: guarantee every stored similar has a source id
1 week ago
test_socketio_cors.py
Socket.IO CORS: handle self-review nits
2 months ago
test_soulseek_album_fallback.py
Album bundle: fall back to per-track when the chosen folder yields nothing
2 weeks ago
test_soulseek_album_poll_stall.py
Soulseek album poll: treat 'Aborted'/'Cancelled' transfers as failed
2 weeks ago
test_soulseek_search_throttle.py
Add min delay between slskd searches (Bell Canada anti-abuse fix)
1 month ago
test_soundcloud_client.py
Lift shared download dataclasses + boot via singleton factory
1 month ago
test_source_ids_registry.py
Source IDs: add canonical registry, adopt at the highest-value sites
2 weeks ago
test_source_title.py
Fix #768 : playlist sync editor refusing to match certain tracks
1 week ago
test_spa_deep_linking.py
feat: artist-detail deep linking — /artist-detail/:source/:id
4 weeks ago
test_spotify_public_api.py
SpotipyFree integration confirmed working (236 tracks live); deps + meta tweak
1 week ago
test_staging_album_provenance.py
refactor(staging): inject batch-field accessor instead of importing runtime_state
3 weeks ago
test_stats_automations_esc_js.py
Fix: mirrored playlist action buttons dead when name has an apostrophe
2 weeks ago
test_status_engine_fallback.py
Manual picks: stream results, don't auto-retry, fix stuck-at-0%
1 month ago
test_sync_discovery_scan_events.py
Realign test file names
2 months ago
test_tag_writer_multi_artist.py
AcoustID scanner: multi-candidate match + duration guard + multi-value retag
4 weeks ago
test_tidal_album_tracks.py
Your Albums: selectable wishlist modal + Tidal album resolution
1 month ago
test_tidal_auth_instructions.py
Show Tidal callback port (not Spotify's) in auth instructions
1 month ago
test_tidal_auth_redirect_uri.py
Honor configured Tidal redirect_uri, drop request-host fallback
1 month ago
test_tidal_collection_tracks.py
Tidal: surface Favorite Tracks as virtual playlist (issue #502 )
1 month ago
test_tidal_favorite_albums_artists.py
Tidal: rewire favorite albums + artists to V2 user-collection endpoints
1 month ago
test_tidal_qualifier_filter.py
Fix MTV Unplugged & live-album false-quarantine pipeline
4 weeks ago
test_tidal_search_shortening.py
Reject Tidal streams that silently downgrade from the requested quality
2 months ago
test_title_match_guard.py
Fix #769 : playlist sync matched wrong same-artist track with high confidence
1 week ago
test_tool_progress_events.py
Realign test file names
2 months ago
test_torrent_client_adapters.py
Fix #790 : torrent client URL without http:// scheme fails to connect
1 week ago
test_torrent_usenet_plugins.py
Fix: torrent/usenet album bundle hard-fails on 'no results' instead of falling back
2 weeks ago
test_track_artist_matching.py
Add fallback negative-case test for track-artist matching
1 month ago
test_track_number_repair.py
Fix CI test failures from incomplete dummy config and encoding
2 months ago
test_track_repair_canonical.py
Canonical album version — Stage 4: Track Number Repair prefers canonical (read)
1 week ago
test_track_search_single_query.py
test: api_search_tracks single-query track search
2 months ago
test_unknown_artist_fixer.py
fix(repair): rewire Unknown Artist Fixer deferred imports ( #646 )
3 weeks ago
test_usenet_client_adapters.py
Fix: Usenet bundle stuck at 99%/100% — SAB reports post-processing in History as non-terminal ( #721 )
2 weeks ago
test_watchlist_album_match.py
Stop watchlist re-downloading compilation tracks; catch slskd dedup orphans
1 month ago
test_watchlist_bulk_add.py
Complete MusicBrainz watchlist source parity
4 weeks ago
test_watchlist_scanner_scan.py
Move the import flows and related post-processing pipelines into separate modules
2 months ago
test_websocket_client_transport.py
Repoint websocket transport test to core.js after split
2 months ago
test_websocket_infrastructure.py
Split metadata source and Spotify status
1 month ago
test_wishlist_pagination.py
test: wishlist SQL pagination and category filter
2 months ago
test_worker_existing_id_marks_matched.py
test: enrichment worker re-processing fix and migration backfill
2 months ago
test_worker_utils_album_track_count.py
Repair stale media schema during refresh
3 weeks ago
test_youtube_ffmpeg_no_eager_download.py
ffmpeg gate also covers is_available — fixes the actual leak path
1 month ago
test_youtube_search_dash_query.py
Escape dash-leading YouTube search queries
3 weeks ago