Commit graph

  • 2d2ee34df8 #758: a manual album match pins + locks the canonical version BoulderBadgeDad 2026-06-05 23:28:19 -0700
  • 6b5506dee4 Don't apply the real-API daily budget / cooldown while bridging via Spotify Free BoulderBadgeDad 2026-06-05 22:38:59 -0700
  • 3fcfa900bd Show "Running (Spotify Free)" instead of "rate limited" while the worker bridges BoulderBadgeDad 2026-06-05 22:08:07 -0700
  • 12038bde08 Let the Spotify worker resume during a rate-limit ban when Free can bridge BoulderBadgeDad 2026-06-05 21:50:08 -0700
  • 4039ec3573 #800: Write Tags must not overwrite a real file value with a placeholder BoulderBadgeDad 2026-06-05 20:07:03 -0700
  • 79a30c055a Run auto-reconcile as a scan phase inside the running window BoulderBadgeDad 2026-06-05 19:10:31 -0700
  • 83c1cd92aa Auto-reconcile embedded IDs for new tracks on library scans BoulderBadgeDad 2026-06-05 18:31:11 -0700
  • e6d86dea26 Add "Import IDs from File Tags" backfill — gap-fill provider IDs from embedded tags BoulderBadgeDad 2026-06-05 17:52:29 -0700
  • 2604704a27 #797: stop AcoustID quarantining correct non-English-artist downloads BoulderBadgeDad 2026-06-05 16:02:01 -0700
  • 4249856984 #798: make Spotify Free opt-in (not auto-bridge) + clearer help text BoulderBadgeDad 2026-06-05 15:10:18 -0700
  • 0c03803a30 #798: fix Spotify Free not selectable — WebSocket status push missing flags BoulderBadgeDad 2026-06-05 14:35:49 -0700
  • 217a5eda70 #798: Spotify Free as a real dropdown source + automatic rate-limit bridge BoulderBadgeDad 2026-06-05 14:23:28 -0700
  • a387814deb #798: Spotify Free as a rate-limit bridge for connected users (hybrid) BoulderBadgeDad 2026-06-05 14:00:50 -0700
  • 2667eaec87 #798: Spotify Free UI — enable toggle + source availability BoulderBadgeDad 2026-06-05 13:36:15 -0700
  • 0eff9e3708 #798: Spotify Free metadata mode — backend (opt-in, shared spotify tables) BoulderBadgeDad 2026-06-05 13:32:37 -0700
  • ad1bd97aac Fix MB-worker alias test fixtures missing self.db BoulderBadgeDad 2026-06-05 12:51:01 -0700
  • e7a50159e8 #799: stop the active 'Server Playlists' sync tab stretching full-width BoulderBadgeDad 2026-06-05 11:20:12 -0700
  • 0f3c374137 #799: add equivalence proof that should_rediscover == original pre-scan BoulderBadgeDad 2026-06-05 11:17:49 -0700
  • c20150e370 #799: stop mirrored discovery from reverting a manual fix to Wing It BoulderBadgeDad 2026-06-05 11:07:32 -0700
  • 55c9b52aee Auto-repair duplicated source ids on startup (one-time migration) BoulderBadgeDad 2026-06-05 10:21:52 -0700
  • 0af99881bf Tighten artist matching: 0.85 gate + shared uniqueness guard BoulderBadgeDad 2026-06-05 10:01:17 -0700
  • c30e8ce402 Add one-off repair for source ids shared across multiple artists BoulderBadgeDad 2026-06-05 08:38:55 -0700
  • 85549197e6 Apply artist-id name-guard to audiodb/qobuz/tidal workers too BoulderBadgeDad 2026-06-05 07:47:59 -0700
  • 8ce26d19fa Fix Deezer enrichment stamping one artist id onto multiple artists BoulderBadgeDad 2026-06-05 07:32:51 -0700
  • 2962267d36 Artist-detail: keep the library view when a source id is ambiguous BoulderBadgeDad 2026-06-05 07:28:21 -0700
  • d2d71d8f05 Fix artist-detail showing wrong artist when a source id is duplicated BoulderBadgeDad 2026-06-05 07:24:51 -0700
  • 06f01e29e8 #775: add artist links (paste an artist URL -> opens the artist) BoulderBadgeDad 2026-06-05 06:55:35 -0700
  • e05979ea07 #775: links only — reject bare IDs (ambiguous), add not-found hint BoulderBadgeDad 2026-06-05 06:44:01 -0700
  • 9772d5313c Add #775: resolve a pasted metadata link/ID instead of searching BoulderBadgeDad 2026-06-05 06:32:45 -0700
  • 1590330171 Fix #796: Soulseek album bundle left completed files in slskd download folder BoulderBadgeDad 2026-06-04 21:56:07 -0700
  • ef9af0cab5 Fix S110: log instead of pass in canonical search-query add BoulderBadgeDad 2026-06-04 21:17:37 -0700
  • bc2432d9f6 Fix #785 (cont.): also search canonical title in discovery worker BoulderBadgeDad 2026-06-04 21:16:41 -0700
  • 6cb753e7a1 Fix #785: file/CSV playlists fail to match (raw 'Artist - Title' titles) BoulderBadgeDad 2026-06-04 21:13:23 -0700
  • c3ec36c989
    Merge pull request #795 from Nezreka/feat/mobile-responsive-v2 BoulderBadgeDad 2026-06-04 21:00:12 -0700
  • 5373f8540b Mobile: notification panel fits the screen (override inline JS positioning) BoulderBadgeDad 2026-06-04 20:50:33 -0700
  • 982653798f Mobile: only show sidebar visualizer when the drawer is open BoulderBadgeDad 2026-06-04 20:41:13 -0700
  • 604c308e5c Mobile: downloads page (.adl-*) responsive pass — had zero coverage BoulderBadgeDad 2026-06-04 20:27:26 -0700
  • 2a509e74c3 Mobile: discover carousels — center wrap, 2-up recommended + discover cards BoulderBadgeDad 2026-06-04 20:24:47 -0700
  • 273c4e5fa3 Mobile: hide mini-player when Now Playing modal is open + uncap artist image BoulderBadgeDad 2026-06-04 19:04:39 -0700
  • 5d8536a5bf Mobile: responsive pass on the Now Playing (music player) modal BoulderBadgeDad 2026-06-04 18:58:44 -0700
  • a1ad6a1225 Mobile v2: artist page, enhanced track table, media player, sync buttons, hero padding BoulderBadgeDad 2026-06-04 18:34:40 -0700
  • 8700a171fb
    Merge pull request #793 from nick2000713/perf/scroll-render-and-pm-compat BoulderBadgeDad 2026-06-04 16:58:27 -0700
  • 2d443986e7
    Merge pull request #794 from Nezreka/feat/playlist-reconcile-sync BoulderBadgeDad 2026-06-04 16:27:27 -0700
  • a893f618c7 Fix #792: per-source discovery syncs ignored the sync-mode setting BoulderBadgeDad 2026-06-04 16:18:54 -0700
  • 65c9948c78 Fix #792: reconcile sync mode was clamped back to 'replace' in the backend BoulderBadgeDad 2026-06-04 15:57:40 -0700
  • b105372d70 Fix #792: sync UI shadowed the new sync-mode setting (forced 'replace') BoulderBadgeDad 2026-06-04 15:27:00 -0700
  • 939c660498 Fix #792: 'reconcile' playlist sync mode (edit in place, keep image/description) BoulderBadgeDad 2026-06-04 15:15:49 -0700
  • 79c907cfcb Cover Art Filler: honor the configured cover-art sources too BoulderBadgeDad 2026-06-04 14:50:40 -0700
  • 93d2399cf8 Library Re-tag: pull cover art from the configured cover-art sources BoulderBadgeDad 2026-06-04 14:46:09 -0700
  • 3fe635fcd6 no-sound fix: resume context on the 'play' event (covers all play paths) BoulderBadgeDad 2026-06-04 14:36:06 -0700
  • 5cb65ab00e Fix: streamed tracks play with no sound (suspended Web Audio context) BoulderBadgeDad 2026-06-04 14:29:13 -0700
  • ceb9ee15fc Manual match tool also stores file_path (same scan-survival as Find & Add) BoulderBadgeDad 2026-06-04 14:11:07 -0700
  • 3b155411c2 Fix #787: Find & Add now records a durable manual match that survives a rescan BoulderBadgeDad 2026-06-04 13:46:24 -0700
  • d950da8573 Propagate playlist provenance and fix wishlist playlist-folder downloads. kekkokk 2026-06-04 15:48:39 +0200
  • 0fe0a4c45b perf(webui): make the UI usable with password-manager extensions dev 2026-06-04 21:53:10 +0200
  • 8ffdca3636 Fix CI: drop dead RetagDeps tests + pointless f-string BoulderBadgeDad 2026-06-04 12:53:05 -0700
  • 07801aeb5b Fix CI: remove orphaned tests for the deleted retag worker BoulderBadgeDad 2026-06-04 12:52:37 -0700
  • b5d22bede5 Fix #790: torrent client URL without http:// scheme fails to connect BoulderBadgeDad 2026-06-04 11:57:53 -0700
  • 85b6ddb997 Navidrome: pin music-folder selection by id, not name (survives renames) BoulderBadgeDad 2026-06-04 11:47:31 -0700
  • cf655c5009 Fix #789: Navidrome library selection ignored (all libraries imported) BoulderBadgeDad 2026-06-04 11:41:03 -0700
  • 89fe7703fa perf(webui): flatten scroll-container background + scope explorer wheel listener dev 2026-06-04 20:35:21 +0200
  • adbdda7b0e Library Re-tag: add light/full depth setting, default source to active, fix dropdown CSS BoulderBadgeDad 2026-06-04 10:21:30 -0700
  • 0a4c3d7dc8 Library re-tag: standard dry-run pattern (shows the Dry Run tag, opt-in auto-apply) BoulderBadgeDad 2026-06-04 10:06:34 -0700
  • 2328e159a1 Tools page: fix section nesting + move Metadata Updater into Metadata & Cache BoulderBadgeDad 2026-06-04 09:51:00 -0700
  • 48debb7926 Library re-tag: seam tests for the job scan, apply handler, and source-id embed BoulderBadgeDad 2026-06-04 09:46:35 -0700
  • d91e6a384d Remove the old Retag Tool (superseded by Library Re-tag job + Write Tags) BoulderBadgeDad 2026-06-04 09:33:03 -0700
  • 3ea9da1cba Tagging: write source IDs too (Write Tags button + library re-tag now complete) BoulderBadgeDad 2026-06-04 09:20:34 -0700
  • 50b6876d6b Library re-tag: render the per-track old->new diff in the finding card BoulderBadgeDad 2026-06-04 09:01:29 -0700
  • f5c905be86 Library re-tag (2/3 + 3/3): the repair job + in-place apply handler BoulderBadgeDad 2026-06-04 08:55:38 -0700
  • b0c78c8674 Library re-tag (1/3): pure planner — match source tracklist + per-field tag diff BoulderBadgeDad 2026-06-04 08:50:40 -0700
  • 8c4d6e34dc Add bulk playlist selection and sequential sync across Sync sources. kekkokk 2026-06-04 15:48:38 +0200
  • 8d564a1178 Add per-playlist keep-folder-copies for organize-by-playlist downloads. kekkokk 2026-06-04 15:48:38 +0200
  • 269e89d514 Propagate playlist provenance when adding to wishlist from download modal. Francesco Durighetto 2026-06-04 14:01:26 +0200
  • 1c1d2eb884
    Merge pull request #784 from Nezreka/dev 2.6.6 BoulderBadgeDad 2026-06-03 22:42:13 -0700
  • 83e3f6b660 2.6.6: add curated highlights to the version modal (VERSION_MODAL_SECTIONS) BoulderBadgeDad 2026-06-03 22:33:07 -0700
  • febefc8324 Release 2.6.6: version bump + What's New BoulderBadgeDad 2026-06-03 22:28:06 -0700
  • 405b0988d6 Cover Art Filler: skip files that already have art (keep apply purely additive) BoulderBadgeDad 2026-06-03 22:17:20 -0700
  • 33965c7cbd Cover Art Filler: detect missing art ON DISK + actually write it to files BoulderBadgeDad 2026-06-03 22:12:56 -0700
  • 80828b86cf Cover Art Filler: validate search results to stop wrong cover art BoulderBadgeDad 2026-06-03 21:56:00 -0700
  • 45f91fd318 Fix: qBittorrent 5.2.0+ login probe fails (HTTP 204 not handled) BoulderBadgeDad 2026-06-03 21:43:11 -0700
  • 807ac39570
    Merge pull request #781 from Arvuno/docs/issue-704-readme BoulderBadgeDad 2026-06-03 21:25:20 -0700
  • b4ddb66d0b Dashboard: harden rate-monitor (enrichment) equalizer responsiveness BoulderBadgeDad 2026-06-03 21:20:23 -0700
  • 8b585b9b02 PR #783 follow-up: revert Socket.IO to polling-first transport BoulderBadgeDad 2026-06-03 21:07:40 -0700
  • 4c65f403e1
    Merge pull request #783 from nick2000713/perf/webui-navigation-scroll BoulderBadgeDad 2026-06-03 21:06:33 -0700
  • c0c4528a28 PR #780 follow-ups: snapshot-based stale check + submit guard + dead code BoulderBadgeDad 2026-06-03 20:45:17 -0700
  • a977d28144 Fix #780: Deezer/non-Spotify organize-by-playlist resolved the wrong row BoulderBadgeDad 2026-06-03 20:41:04 -0700
  • 0353d365d6
    Merge pull request #780 from kekkokk/feature/organize-by-playlist-library BoulderBadgeDad 2026-06-03 20:33:18 -0700
  • 0c40dc2d3d Worker orbs: make the nucleus health state gradual, kill the flicker BoulderBadgeDad 2026-06-03 19:14:22 -0700
  • 7706e1b16b Dashboard: make the enrichment services cluster mobile-responsive BoulderBadgeDad 2026-06-03 19:10:31 -0700
  • 8723f9c433 Worker orbs: tone down the nucleus pulse — subtle, not throbbing BoulderBadgeDad 2026-06-03 18:57:26 -0700
  • 0a5cda5189 Discover: promote recommendations to a first-class section + show the 'why' BoulderBadgeDad 2026-06-03 18:28:19 -0700
  • f333607d76 Recommendations: explain WHICH of your artists drive each suggestion BoulderBadgeDad 2026-06-03 18:23:51 -0700
  • 48b8247a0c Worker orbs: nucleus reflects worker health, not just activity BoulderBadgeDad 2026-06-03 18:20:46 -0700
  • f883e99feb Fix: MusicMap 404s miscounted as errors in similar-artists worker BoulderBadgeDad 2026-06-03 18:04:31 -0700
  • 5149aca358 Worker orbs: drip real pulses steadily instead of bursting on each status tick BoulderBadgeDad 2026-06-03 17:49:43 -0700
  • 9a5c85a424 Worker orbs: drive hub pulses from real enrichment telemetry BoulderBadgeDad 2026-06-03 17:40:52 -0700
  • 05c15833fa perf(webui): faster navigation, smoother scroll, no spurious settings save dev 2026-06-04 02:34:42 +0200
  • 634b9ca0a0 Worker orbs: cache glow sprites for perf + SoulSync logo in enrichment modal topbar BoulderBadgeDad 2026-06-03 17:30:54 -0700
  • 6dfe9f3d6a Worker orbs/hub: preserve logo aspect ratio + use SoulSync logo on Manage Workers button BoulderBadgeDad 2026-06-03 17:26:50 -0700
  • 37f9046afd Worker orbs: render the SoulSync logo as the hub nucleus BoulderBadgeDad 2026-06-03 17:24:18 -0700