You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SoulSync/tests
BoulderBadgeDad 2d2ee34df8
#758: a manual album match pins + locks the canonical version
6 days ago
..
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 2 weeks ago
discovery #799: add equivalence proof that should_rediscover == original pre-scan 6 days ago
downloads #797: stop AcoustID quarantining correct non-English-artist downloads 6 days 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 Auto-reconcile embedded IDs for new tracks on library scans 6 days ago
matching #797: stop AcoustID quarantining correct non-English-artist downloads 6 days ago
media_server Navidrome: pin music-folder selection by id, not name (survives renames) 1 week ago
metadata Fix artist-detail showing wrong artist when a source id is duplicated 7 days 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 #798: Spotify Free metadata mode — backend (opt-in, shared spotify tables) 6 days ago
static Fix: mirrored playlist action buttons dead when name has an apostrophe 1 week 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 #792: 'reconcile' playlist sync mode (edit in place, keep image/description) 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 3 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 #797: stop AcoustID quarantining correct non-English-artist downloads 6 days ago
test_acoustid_version_mismatch.py AcoustID: report errors honestly instead of masking them as 'Skipped' 2 weeks ago
test_album_bundle.py Fix #796: Soulseek album bundle left completed files in slskd download folder 7 days ago
test_album_bundle_dispatch.py Album bundle: fall back to per-track on an I/O error, don't hard-fail the batch 1 week 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 1 week 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_manual_lock.py #758: a manual album match pins + locks the canonical version 6 days 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_database_update_reconcile_hook.py Run auto-reconcile as a scan phase inside the running window 6 days 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_dedupe_source_ids.py Auto-repair duplicated source ids on startup (one-time migration) 6 days ago
test_deezer_worker_artist_id_guard.py Fix Deezer enrichment stamping one artist id onto multiple artists 7 days 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) 1 week 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_artist_id_guard.py Apply artist-id name-guard to audiodb/qobuz/tidal workers too 6 days 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 2 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 #792: reconcile sync mode was clamped back to 'replace' in the backend 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) 1 week 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 Fix #796: Soulseek album bundle left completed files in slskd download folder 7 days 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 3 weeks ago
test_spotify_free_metadata.py Let the Spotify worker resume during a rate-limit ban when Free can bridge 6 days 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 1 week 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_tag_writer_placeholder_guard.py #800: Write Tags must not overwrite a real file value with a placeholder 6 days 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 1 week 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 3 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_artist_match_gate.py Tighten artist matching: 0.85 gate + shared uniqueness guard 6 days 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