| .. |
|
artists
|
…
|
|
|
automation
|
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
|
1 week ago |
|
blocklist
|
Blocklist Phase 2b: gate manual downloads with a "download anyway?" confirm
|
1 week ago |
|
database
|
Preserve Navidrome album cover art
|
3 weeks ago |
|
discovery
|
#702: make mirrored-playlist cancel/reset/delete idempotent (un-wedge LB weekly sync)
|
6 days ago |
|
downloads
|
Playlists: wire materialize triggers + retire per-track routing flag
|
5 days ago |
|
enrichment
|
Enrichment manager: 6 UX improvements
|
2 weeks ago |
|
imports
|
Fix import artist override and verification review
|
1 week ago |
|
library
|
Expired Download Cleaner: retention-based cleanup of watchlist/playlist downloads (Boulder)
|
1 week ago |
|
matching
|
#845 tests: lift history-path resolver to core/ + seam-test the delete-safety
|
7 days ago |
|
media_server
|
Navidrome: pin music-folder selection by id, not name (survives renames)
|
2 weeks ago |
|
metadata
|
Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93)
|
1 week ago |
|
playback
|
Player: log SoulSync web-player plays (recently-played + smart-radio recency)
|
3 weeks ago |
|
playlists
|
Expose mirrored playlist source-ref health
|
3 weeks ago |
|
radio
|
Player revamp Phase 2: smart radio ranking (play-count + popularity)
|
3 weeks ago |
|
repair_jobs
|
#704: add "Relocate" fix for AcoustID mismatches — retag + restage for re-import
|
6 days ago |
|
search
|
Multi-artist tags: Search → Download Now finally knows its metadata source (Netti93)
|
1 week ago |
|
static
|
Fix: mirrored playlist action buttons dead when name has an apostrophe
|
2 weeks ago |
|
stats
|
…
|
|
|
streaming
|
Stream button: the player never learns its stream is ready (2.6.5 regression)
|
2 weeks ago |
|
sync
|
Fix #792: 'reconcile' playlist sync mode (edit in place, keep image/description)
|
2 weeks 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
|
4 weeks ago |
|
watchlist
|
Complete MusicBrainz watchlist source parity
|
1 month ago |
|
webui
|
Fix missing album placeholder asset path
|
4 weeks ago |
|
wishlist
|
Wishlist: manual "add to wishlist" now skips already-owned tracks (#825)
|
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_normalize_angle_annotations.py
|
feat(verification): persist status (db+tag), surface on Downloads, scan-aware force-imports
|
1 week ago |
|
test_acoustid_scanner.py
|
Fix import artist override and verification review
|
1 week ago |
|
test_acoustid_skip_logic.py
|
#797: stop AcoustID quarantining correct non-English-artist downloads
|
2 weeks ago |
|
test_acoustid_version_mismatch.py
|
AcoustID: report errors honestly instead of masking them as 'Skipped'
|
2 weeks ago |
|
test_admin_gating.py
|
tests: use soulsync-testdb- prefix in the web_server endpoint tests
|
1 week ago |
|
test_album_bundle.py
|
Fix #796: Soulseek album bundle left completed files in slskd download folder
|
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
|
…
|
|
|
test_album_mbid_consistency.py
|
…
|
|
|
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
|
4 weeks ago |
|
test_aria2_adapter.py
|
Add Aria2 to the torrent client list (Shdjfgatdif's request)
|
6 days ago |
|
test_art_apply.py
|
Cover Art Filler: write cover.jpg to the RESOLVED folder, not the raw DB path (Sokhi — the actual bug)
|
1 week ago |
|
test_art_preservation.py
|
Fix #764: import no longer destroys embedded cover art
|
2 weeks ago |
|
test_artist_album_list_cache_nonspotify.py
|
#853 follow-up: don't cache a partial Deezer discography on mid-pagination error
|
6 days ago |
|
test_artist_albums_cache_poisoning.py
|
Artist pages: stop watchlist probes from poisoning the album-list cache
|
2 weeks ago |
|
test_artist_db_record_endpoint.py
|
Artist detail: "DB Record" inspector — everything the DB knows about an artist
|
6 days ago |
|
test_artist_export.py
|
Export: combine watchlist + library into one button with a scope selector
|
6 days ago |
|
test_artist_full_detail_source_id.py
|
Fix: enhanced artist view 404s for library artists opened via source ID
|
3 weeks ago |
|
test_artist_sync_stale_guard.py
|
Artist Sync: unify with deep scan — server-diff stale removal, scoped to one artist
|
1 week ago |
|
test_artist_top_tracks_clients.py
|
…
|
|
|
test_atomic_audio_save.py
|
Import: atomic tag saves so an interrupted/OOM save can't destroy the file (#819)
|
1 week ago |
|
test_audiodb_worker_stuck_track.py
|
…
|
|
|
test_auth_proxy.py
|
Security: trust a forward-auth proxy user header (Tier 3)
|
1 week ago |
|
test_auth_usage_throttle.py
|
…
|
|
|
test_auto_sync_js.py
|
Add node:test contract for auto-sync.js helpers
|
3 weeks ago |
|
test_canonical_alternates.py
|
#767-2: reorganize finds the right album edition instead of mislabeling singles as deluxe
|
2 weeks ago |
|
test_canonical_columns_migration.py
|
Canonical album version — Stage 1: schema + pure scorer (dormant)
|
2 weeks ago |
|
test_canonical_db.py
|
Canonical album version — Stage 2 (core): resolver + persistence (dormant)
|
2 weeks ago |
|
test_canonical_manual_lock.py
|
#758: a manual album match pins + locks the canonical version
|
2 weeks ago |
|
test_canonical_orchestration.py
|
Canonical findings: include as much (free) data as possible
|
2 weeks ago |
|
test_canonical_resolver.py
|
#767-2: reorganize finds the right album edition instead of mislabeling singles as deluxe
|
2 weeks ago |
|
test_canonical_version.py
|
Canonical album version — Stage 1: schema + pure scorer (dormant)
|
2 weeks ago |
|
test_canonical_version_job.py
|
Repair settings: dropdown for fixed-choice settings (canonical source_selection)
|
2 weeks ago |
|
test_config_save_retry.py
|
…
|
|
|
test_content_filter_regex.py
|
…
|
|
|
test_context_qualifier_match.py
|
#808: album-context qualifiers stop blocking library-presence matching
|
2 weeks ago |
|
test_cover_art_targets.py
|
Cover art: stop crying "(read-only?)" when files are simply already arted (Sokhi/Boulder)
|
1 week ago |
|
test_create_finding_dedup_counter.py
|
…
|
|
|
test_credentials_endpoints.py
|
Security: trust a forward-auth proxy user header (Tier 3)
|
1 week ago |
|
test_dashboard_events.py
|
…
|
|
|
test_database_io_resilience.py
|
Handle transient SQLite IO during maintenance
|
4 weeks ago |
|
test_database_update_reconcile_hook.py
|
Run auto-reconcile as a scan phase inside the running window
|
2 weeks ago |
|
test_db_genres_json_normalization.py
|
DB: normalize legacy comma-separated genres to canonical JSON
|
3 weeks ago |
|
test_db_integrity.py
|
DB backups: verify integrity + never evict the last good backup
|
3 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
|
3 weeks ago |
|
test_db_watchlist_amazon_id_migration.py
|
DB: stop watchlist_artists rebuilds from dropping amazon_artist_id
|
3 weeks ago |
|
test_dead_file_cleaner_guard.py
|
Dead File Cleaner: don't flag a whole library when paths just aren't reachable (#828)
|
1 week ago |
|
test_debug_info_services.py
|
…
|
|
|
test_dedupe_source_ids.py
|
Auto-repair duplicated source ids on startup (one-time migration)
|
2 weeks ago |
|
test_deezer_worker_artist_id_guard.py
|
Fix Deezer enrichment stamping one artist id onto multiple artists
|
2 weeks ago |
|
test_discogs_collection_id_tagging.py
|
Discogs (#848 follow-up): tag collection album IDs for consistency
|
7 days ago |
|
test_discogs_collection_source.py
|
Discogs: strip artist disambiguation suffixes at every name surface (#634)
|
3 weeks ago |
|
test_discogs_id_typing.py
|
Discogs: fix master/release ID collision fetching the wrong album
|
1 week ago |
|
test_discogs_track_count.py
|
…
|
|
|
test_discover_section_controller_js.py
|
…
|
|
|
test_download_orchestrator_soundcloud.py
|
…
|
|
|
test_download_origins.py
|
Download Origins: see (and delete) exactly what watchlist + playlist syncs downloaded
|
2 weeks ago |
|
test_download_plugin_conformance.py
|
Add torrent usenet PR notes and test updates
|
4 weeks ago |
|
test_downloads_pagination.py
|
…
|
|
|
test_duplicate_detector_mount_paths.py
|
…
|
|
|
test_duplicate_detector_slskd_dedup.py
|
…
|
|
|
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
|
2 weeks ago |
|
test_empty_folder_cleaner.py
|
Add Empty Folder Cleaner library-maintenance job (corruption's request)
|
6 days ago |
|
test_enrichment_art_preservation.py
|
Fix #764: import no longer destroys embedded cover art
|
2 weeks ago |
|
test_enrichment_artist_id_guard.py
|
Apply artist-id name-guard to audiodb/qobuz/tidal workers too
|
2 weeks ago |
|
test_enrichment_services.py
|
…
|
|
|
test_existing_album_folder.py
|
Downloads: reuse an album's existing folder so batches don't split it (#829)
|
1 week ago |
|
test_expired_download_cleaner.py
|
Expired Cleaner: rename the safety toggle to dry_run (default ON), matching Re-tag
|
1 week ago |
|
test_featured_artist_completion.py
|
…
|
|
|
test_genius_backoff.py
|
Genius 429 backoff: fail-fast gate instead of napping the import pipeline
|
2 weeks ago |
|
test_hifi_instance_methods.py
|
…
|
|
|
test_hls_parsing.py
|
…
|
|
|
test_image_cache.py
|
Image cache: reject truncated downloads instead of caching broken covers (#750)
|
3 weeks ago |
|
test_import_album_match_endpoint.py
|
…
|
|
|
test_import_singles_parallel.py
|
…
|
|
|
test_import_tag_preservation.py
|
Import: never wipe a clean/matched import's tags when enhancement fails (#804)
|
1 week ago |
|
test_integrity_failure_marks_task_failed.py
|
…
|
|
|
test_issue_837_find_add_preserves_playlist.py
|
Fix: manual Find & Add recreated the Jellyfin/Emby playlist (#837)
|
1 week ago |
|
test_jellyfin_album_thumb.py
|
Jellyfin/Emby: populate album thumb_url during the library scan (root cause of "flags every album")
|
1 week ago |
|
test_launch_lock_gate.py
|
Fix: launch PIN re-triggered the first-run setup wizard every visit (#842)
|
1 week ago |
|
test_lb_series_detect.py
|
Roll LB Weekly / Top series into single rolling mirrors (Phase 1c.2.1)
|
3 weeks ago |
|
test_library_disk_usage.py
|
Repair stale media schema during refresh
|
4 weeks ago |
|
test_library_reorganize.py
|
…
|
|
|
test_library_reorganize_orchestrator.py
|
Fix #767: Library Organizer dry run no longer creates folders
|
2 weeks ago |
|
test_library_retag_job.py
|
Lyrics: add a "Lyrics Filler" maintenance job + lyrics option in the Re-tag tool (Sokhi)
|
1 week ago |
|
test_library_stream_fallback.py
|
#809 Navidrome playback: stream via the server's API when the library isn't mounted on disk
|
1 week ago |
|
test_library_tag_payload.py
|
Add _build_library_tag_db_data helper
|
3 weeks ago |
|
test_library_track_identity.py
|
…
|
|
|
test_lidarr_download_client.py
|
…
|
|
|
test_liked_songs_playlist.py
|
Mirrored "Liked Songs" stops 400ing on every auto-refresh (wolf39us)
|
2 weeks ago |
|
test_listenbrainz_manager.py
|
Auto-Sync: fix LB pipelines stuck on "Refreshing:" for 5+ minutes
|
3 weeks ago |
|
test_listening_stats_batch_queries.py
|
…
|
|
|
test_login_endpoints.py
|
Login recovery (DB + backend): security question to reset a forgotten password
|
1 week ago |
|
test_login_gate.py
|
Native login (increment 2/3): login/logout endpoints + require_login gate
|
1 week ago |
|
test_login_provisioning.py
|
Login mode: enforce "every profile has a password" at every write-point (no gaps)
|
6 days ago |
|
test_lyrics_reembed_from_sidecar.py
|
Fix CI: drop dead RetagDeps tests + pointless f-string
|
2 weeks ago |
|
test_manual_library_match.py
|
Fix #787: Find & Add now records a durable manual match that survives a rescan
|
2 weeks ago |
|
test_manual_pick_no_auto_retry.py
|
Add torrent and usenet release staging support
|
4 weeks ago |
|
test_manual_search_endpoint.py
|
…
|
|
|
test_matching_engine_cjk.py
|
Fix: duplicate tracks in albums with Japanese / CJK titles (#722)
|
3 weeks ago |
|
test_member_login_password.py
|
Login mode: let the admin set a member's login password (Manage Profiles)
|
6 days ago |
|
test_memory_tracker.py
|
#802: on-demand memory-growth diagnostic (tracemalloc, browser-drivable)
|
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: scan falls back to the raw file path when mapping fails (Sokhi #fix)
|
1 week ago |
|
test_missing_lyrics_job.py
|
Lyrics Filler: convert track duration ms→s for LRClib (exact-match was silently defeated)
|
1 week ago |
|
test_navidrome_cover_url.py
|
Fix #766: Navidrome album covers blank in the sync editor (+ other modals)
|
2 weeks ago |
|
test_navidrome_self_heal.py
|
Navidrome: self-heal the connection instead of latching disconnected (jimmydotcom)
|
6 days ago |
|
test_navidrome_stream_url.py
|
#809 Navidrome playback: stream via the server's API when the library isn't mounted on disk
|
1 week ago |
|
test_orphan_file_detector.py
|
Orphan detector: hard-bail on a mass-orphan flood instead of warn-only
|
6 days ago |
|
test_path_resolve_confusables.py
|
Delete: resolve the real on-disk file when DB metadata uses curly quotes (#833)
|
1 week ago |
|
test_personalized_api.py
|
…
|
|
|
test_personalized_generators_curated.py
|
…
|
|
|
test_personalized_generators_singletons.py
|
…
|
|
|
test_personalized_generators_variants.py
|
…
|
|
|
test_personalized_manager.py
|
…
|
|
|
test_personalized_playlists_id_gate.py
|
Blocklist Phase 1 (backend): artist/album/track bans enforced at the wishlist chokepoint
|
1 week ago |
|
test_pin_rate_limit.py
|
Security: brute-force limiter on the launch-PIN unlock (Tier 2)
|
1 week ago |
|
test_playlist_edit.py
|
Sync: append mode actually dedupes — stop re-adding the whole playlist (#823)
|
1 week ago |
|
test_playlist_materialize.py
|
Playlists: config (separate root + symlink/copy) + pure materializer seam
|
5 days ago |
|
test_playlist_materialize_service.py
|
Playlists: batch toggle force-rebuilds its own folder (row flag = provenance only) + resolve diagnostics
|
5 days ago |
|
test_playlist_reconcile.py
|
#766 follow-on: source rows borrow their matched server track's cover
|
2 weeks ago |
|
test_playlist_sources_adapters.py
|
Fix: auto-sync capped public Spotify playlists at 100 tracks (#838)
|
1 week ago |
|
test_profile_context.py
|
Automations: run each as its OWNER profile in the background (part 1 of per-profile sync)
|
1 week ago |
|
test_profile_password.py
|
Native login (increment 1/3): per-profile password DB layer
|
1 week ago |
|
test_profile_recovery.py
|
Login recovery (DB + backend): security question to reset a forgotten password
|
1 week ago |
|
test_profile_spotify_resolution.py
|
Profiles: per-profile Spotify builds for own-app creds OR a token cache
|
1 week ago |
|
test_provenance_id_persistence.py
|
…
|
|
|
test_prowlarr_client.py
|
test: cover Prowlarr + torrent + usenet adapters
|
4 weeks ago |
|
test_qobuz_credential_sync.py
|
…
|
|
|
test_qobuz_playlists.py
|
Fetch all Qobuz favorite tracks for discovery
|
4 weeks ago |
|
test_recommendation_sources.py
|
Recommendations: explain WHICH of your artists drive each suggestion
|
2 weeks ago |
|
test_release_dates.py
|
#705: release-date gate — unreleased tracks stay out of the wishlist cycle and Fresh Tape
|
2 weeks ago |
|
test_reorganize_alternate_edition.py
|
#767-2: reorganize finds the right album edition instead of mislabeling singles as deluxe
|
2 weeks ago |
|
test_reorganize_canonical_source.py
|
Canonical album version — Stage 3: Reorganizer prefers pinned canonical (read)
|
2 weeks ago |
|
test_reorganize_db_methods.py
|
…
|
|
|
test_reorganize_deleted_quarantine.py
|
Reorganize: skip files in the duplicate-cleaner /deleted quarantine (#746)
|
3 weeks ago |
|
test_reorganize_orphan_format_handling.py
|
…
|
|
|
test_reorganize_queue.py
|
…
|
|
|
test_reorganize_runner.py
|
…
|
|
|
test_reorganize_tag_source.py
|
…
|
|
|
test_reorganize_unknown_artist_hint.py
|
…
|
|
|
test_repair_worker_album_fill.py
|
fix(album-completeness): block cross-artist auto-fill
|
4 weeks ago |
|
test_repair_worker_unresolvable_folder_error.py
|
…
|
|
|
test_replaygain_filler_job.py
|
#437: add ReplayGain Filler library-maintenance job
|
6 days ago |
|
test_replaygain_summary_parse.py
|
…
|
|
|
test_request_cleanup_timer.py
|
…
|
|
|
test_resolve_mirrored_playlist.py
|
Playlists: resolve synthetic mirrored batch refs (youtube_mirrored_<pk>/auto_mirror_<pk>) to PK
|
5 days ago |
|
test_retag_planner.py
|
Library re-tag (1/3): pure planner — match source tracklist + per-field tag diff
|
2 weeks ago |
|
test_reverse_proxy_mode.py
|
Security: add gated security headers in reverse-proxy mode (Tier 2)
|
1 week ago |
|
test_runtime_state.py
|
…
|
|
|
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
|
Profiles: per-profile Spotify self-auth (shared app) + My Accounts modal + read wiring
|
1 week ago |
|
test_search_tracks_relevance.py
|
Fix: Find & Add library search buried exact matches (case-sensitive ordering)
|
1 week ago |
|
test_server_playlist_append_mode.py
|
Sync: append mode actually dedupes — stop re-adding the whole playlist (#823)
|
1 week ago |
|
test_service_credentials.py
|
Profiles: review fixes — close two gating gaps + reject whitespace secrets
|
1 week ago |
|
test_settings_redaction.py
|
Security: stop GET /api/settings from shipping decrypted secrets to the browser
|
1 week ago |
|
test_similar_artists_status_codes.py
|
Fix: MusicMap 404s miscounted as errors in similar-artists worker
|
2 weeks ago |
|
test_similar_artists_worker.py
|
Similar Artists worker: guarantee every stored similar has a source id
|
2 weeks ago |
|
test_socketio_cors.py
|
…
|
|
|
test_soulseek_album_fallback.py
|
Fix #796: Soulseek album bundle left completed files in slskd download folder
|
2 weeks ago |
|
test_soulseek_album_poll_stall.py
|
Soulseek album poll: treat 'Aborted'/'Cancelled' transfers as failed
|
3 weeks ago |
|
test_soulseek_search_throttle.py
|
…
|
|
|
test_soundcloud_client.py
|
…
|
|
|
test_source_ids_registry.py
|
Source IDs: add canonical registry, adopt at the highest-value sites
|
3 weeks ago |
|
test_source_title.py
|
Fix #768: playlist sync editor refusing to match certain tracks
|
2 weeks ago |
|
test_spa_deep_linking.py
|
feat: artist-detail deep linking — /artist-detail/:source/:id
|
1 month ago |
|
test_spotify_free_metadata.py
|
Spotify: rename "Spotify Free" → "Spotify (no auth)", default enrichment to it
|
1 week ago |
|
test_spotify_public_api.py
|
SpotipyFree integration confirmed working (236 tracks live); deps + meta tweak
|
2 weeks ago |
|
test_spotify_token_cache.py
|
Spotify tokens move into the database — daily Docker deauth fixed (wolf39us)
|
1 week ago |
|
test_spotify_unavailable_reason.py
|
Spotify: log WHY a request was skipped, not a catch-all "Not authenticated"
|
2 weeks ago |
|
test_staging_album_provenance.py
|
refactor(staging): inject batch-field accessor instead of importing runtime_state
|
4 weeks ago |
|
test_stale_guard.py
|
Orphan detector: hard-bail on a mass-orphan flood instead of warn-only
|
6 days 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
|
…
|
|
|
test_subtitle_qualifier_match.py
|
Matcher: bracketed subtitles no longer read as different songs (#825)
|
1 week ago |
|
test_sync_discovery_scan_events.py
|
…
|
|
|
test_tag_writer_multi_artist.py
|
…
|
|
|
test_tag_writer_placeholder_guard.py
|
Full release dates: store + write yyyy-mm-dd end to end (#824 part 2)
|
1 week ago |
|
test_tidal_album_tracks.py
|
…
|
|
|
test_tidal_auth_instructions.py
|
…
|
|
|
test_tidal_auth_redirect_uri.py
|
…
|
|
|
test_tidal_collection_tracks.py
|
…
|
|
|
test_tidal_favorite_albums_artists.py
|
…
|
|
|
test_tidal_qualifier_filter.py
|
fix(tidal): honour version field in matching and back off on rate limits
|
1 week ago |
|
test_tidal_rate_limit_backoff.py
|
fix(tidal): honour version field in matching and back off on rate limits
|
1 week ago |
|
test_tidal_search_shortening.py
|
…
|
|
|
test_title_match_guard.py
|
Fix #769: playlist sync matched wrong same-artist track with high confidence
|
2 weeks ago |
|
test_tool_progress_events.py
|
…
|
|
|
test_torrent_cleanup_orphan.py
|
Torrents: fix stall handling on "downloading metadata" + stop orphaning in qbit
|
6 days ago |
|
test_torrent_client_adapters.py
|
Fix #790: torrent client URL without http:// scheme fails to connect
|
2 weeks ago |
|
test_torrent_stall.py
|
Torrents: fix stall handling on "downloading metadata" + stop orphaning in qbit
|
6 days ago |
|
test_torrent_usenet_plugins.py
|
Torrents: stalled-torrent handling — abandon a dead magnet instead of holding a worker 6h (noldevin)
|
1 week ago |
|
test_track_artist_matching.py
|
…
|
|
|
test_track_number_repair.py
|
…
|
|
|
test_track_repair_canonical.py
|
Canonical album version — Stage 4: Track Number Repair prefers canonical (read)
|
2 weeks ago |
|
test_track_search_single_query.py
|
…
|
|
|
test_unknown_artist_fixer.py
|
fix(repair): rewire Unknown Artist Fixer deferred imports (#646)
|
4 weeks ago |
|
test_usenet_client_adapters.py
|
Fix: Usenet bundle stuck at 99%/100% — SAB reports post-processing in History as non-terminal (#721)
|
3 weeks ago |
|
test_verification_admin_gate.py
|
#845 follow-up: admin-gate the mutating verification-review endpoints
|
7 days ago |
|
test_verification_status_backfill.py
|
#845 tests: cover the verification_status migration backfill
|
7 days ago |
|
test_verification_tag_roundtrip.py
|
feat(verification): status vocabulary, DB column, SOULSYNC_VERIFICATION tag
|
1 week ago |
|
test_watchlist_album_match.py
|
Watchlist: stop treating different decimal-volume albums as duplicates (Sokhi — the real bug)
|
1 week ago |
|
test_watchlist_bulk_add.py
|
Complete MusicBrainz watchlist source parity
|
1 month ago |
|
test_watchlist_itunes_id_repair.py
|
Watchlist: repair iTunes ids that are actually Deezer ids (the 37725457 corruption, proven live)
|
2 weeks ago |
|
test_watchlist_itunes_match.py
|
Watchlist: iTunes ID backfill never worked in the normal wiring — use the registry client
|
2 weeks ago |
|
test_watchlist_scan_history.py
|
Watchlist: bespoke live scan deck + persistent per-run Scan History (#831 round 2)
|
1 week ago |
|
test_watchlist_scanner_scan.py
|
Watchlist: show WHICH tracks a scan found/added + group Download Origins (#831)
|
1 week ago |
|
test_websocket_client_transport.py
|
…
|
|
|
test_websocket_infrastructure.py
|
…
|
|
|
test_wishlist_pagination.py
|
…
|
|
|
test_worker_artist_match_gate.py
|
Tighten artist matching: 0.85 gate + shared uniqueness guard
|
2 weeks ago |
|
test_worker_existing_id_marks_matched.py
|
…
|
|
|
test_worker_utils_album_track_count.py
|
Repair stale media schema during refresh
|
4 weeks ago |
|
test_ws_connect_gate.py
|
#852 tests: cover the login-mode WS gate (the reported bypass was the login modal)
|
6 days ago |
|
test_yield_policy.py
|
Import speed: downloads pause ALL enrichment workers, discovery pauses the contention five
|
2 weeks ago |
|
test_youtube_ffmpeg_no_eager_download.py
|
…
|
|
|
test_youtube_js_runtime.py
|
Tests: lock the yt-dlp JS-runtime startup warning seam
|
2 weeks ago |
|
test_youtube_search_dash_query.py
|
Escape dash-leading YouTube search queries
|
4 weeks ago |
|
test_youtube_sync_idempotent_endpoints.py
|
#702: make mirrored-playlist cancel/reset/delete idempotent (un-wedge LB weekly sync)
|
6 days ago |