Commit graph

  • 91912681e5 fix: Deezer source dot red — probe GET-ed a POST-only test endpoint dev BoulderBadgeDad 2026-06-29 17:12:42 -0700
  • 598a480a0b fix: Deezer dropped from hybrid + no green light despite working as primary BoulderBadgeDad 2026-06-29 17:07:03 -0700
  • fcd768ffee discovery: tune the wave dial — green->blue spectrum, calmer waves, subtler orb, refined header BoulderBadgeDad 2026-06-29 16:54:53 -0700
  • d9bd5c1d7f discovery: elevate the wave dial — full width + glow, luminous fill, pulsing orb, colour aura BoulderBadgeDad 2026-06-29 16:48:34 -0700
  • c50465984f discovery: replace the slider with a living wave dial (animated) BoulderBadgeDad 2026-06-29 16:41:12 -0700
  • 43fbab5704 discovery: rebuild the Adventurousness dial — visible track + compact layout BoulderBadgeDad 2026-06-29 16:33:45 -0700
  • 71a48dd344 discovery: fancy Adventurousness dial on the Discover page (synced with Settings) BoulderBadgeDad 2026-06-29 16:26:50 -0700
  • c47b36cd6f discovery: apply the adventurousness dial to "Recommended For You" too BoulderBadgeDad 2026-06-29 16:15:13 -0700
  • 29f84b5601 discovery: add Settings -> Discovery -> Adventurousness slider + align config key BoulderBadgeDad 2026-06-29 16:13:51 -0700
  • ce8faf0ecc discovery: wire adventurousness into "Based On Your Listening" (live, on existing data) BoulderBadgeDad 2026-06-29 16:08:20 -0700
  • f0a6d5e696 discovery: add apply_adventurousness — pure popularity-penalty re-rank (aurral-style) BoulderBadgeDad 2026-06-29 16:03:16 -0700
  • 052547c04a discover: reorder sections into Spotify-style grouping + blank optional track fields BoulderBadgeDad 2026-06-29 15:51:43 -0700
  • a236974e43 discover: fix decade/LB tracks showing Unknown — normalizer must fall back to the track itself BoulderBadgeDad 2026-06-29 15:39:09 -0700
  • 391fc9ae78 discover: fix undefined tracks + give Year/Last.fm/ListenBrainz cards real mosaic covers BoulderBadgeDad 2026-06-29 15:26:42 -0700
  • ec4439da00 discover: Last.fm Radio + ListenBrainz -> mix cards; remove Browse-by-Genre BoulderBadgeDad 2026-06-29 15:17:07 -0700
  • 153fad152c discover: generalize the mix modal + convert Time Machine to "Year Mixes" cards BoulderBadgeDad 2026-06-29 15:09:26 -0700
  • 880ad74a0a discover: convert the last stragglers (bylt + genre tiles) to .ya-card BoulderBadgeDad 2026-06-29 14:39:28 -0700
  • bf8e8beeb7 discover: convert the two artist sections to the .ya-card grid BoulderBadgeDad 2026-06-29 14:32:16 -0700
  • 4cab44889c discover: unify album sections onto the .ya-card grid + Show-all clamp BoulderBadgeDad 2026-06-29 14:21:52 -0700
  • 9c832ab3c3 discover: fold the remaining mixes into the "Your Mixes" shelf BoulderBadgeDad 2026-06-29 13:56:27 -0700
  • 9d5e58c4b8 discover: "Your Mixes" shelf — mixes are cards that open to a track list (Spotify-style) BoulderBadgeDad 2026-06-29 13:40:34 -0700
  • 3ab9301a18
    Merge pull request #951 from Nezreka/dev main 2.8.2 BoulderBadgeDad 2026-06-29 11:24:23 -0700
  • 4b8ddad9ff fix: stop the Tidal token-refresh loop (regression from #949) BoulderBadgeDad 2026-06-29 11:18:00 -0700
  • 68d52a1b3f Release 2.8.2: version bump + release notes BoulderBadgeDad 2026-06-29 11:10:50 -0700
  • 81bd85d639
    Merge pull request #949 from HellRa1SeR/fix/docker-spotify-boot-hang BoulderBadgeDad 2026-06-29 10:55:39 -0700
  • f746fb4fc4 fix(#947): poll ALL staging queries while scanning, not just files BoulderBadgeDad 2026-06-29 10:03:14 -0700
  • 88b2ed7ce9 fix spotify cache mismatch Siddharth Pradhan 2026-06-29 12:52:21 -0400
  • 8f1ffa7632 import: page shows scan progress + auto-loads when the background scan finishes (#947, phase 2 UI) BoulderBadgeDad 2026-06-29 09:45:24 -0700
  • a8520bc9b2 revert dockerfile changes Siddharth Pradhan 2026-06-29 12:25:50 -0400
  • 79648a4f5f import: async staging scan so a large library doesn't time out the page (#947, phase 1 backend) BoulderBadgeDad 2026-06-29 09:24:41 -0700
  • 9fc3628062 Defer all provider API probes during boot to prevent startup hangs. Siddharth Pradhan 2026-06-29 12:17:44 -0400
  • 9b18e99419 Fix Docker boot hang when Spotify is the configured primary source. Siddharth Pradhan 2026-06-29 12:08:03 -0400
  • b05b641521
    Merge pull request #948 from nick2000713/codex/fix-startup-freeze BoulderBadgeDad 2026-06-29 08:47:23 -0700
  • efefdd64ff spotify export: clickable authorize link (popup-block safe) + endpoint pre-check tests BoulderBadgeDad 2026-06-29 08:35:25 -0700
  • f3672c7ab4 spotify export: on-demand write-auth (restores Sync to Spotify safely, #945) BoulderBadgeDad 2026-06-29 08:32:19 -0700
  • 6f451a34e1 playlist export: hide Spotify until on-demand write-auth; release notes → Deezer-now BoulderBadgeDad 2026-06-29 08:18:40 -0700
  • 633aa82b22 fix: un-break Spotify auth — revert the write scope + fix the OAuth token-cache mismatch BoulderBadgeDad 2026-06-29 08:09:18 -0700
  • 0de1641b90
    Merge 6b7e6bff61 into 60e7193539 Francesco Durighetto 2026-06-29 13:40:43 +0300
  • 6dcfe13310
    Merge 269e89d514 into 60e7193539 Francesco Durighetto 2026-06-29 13:40:43 +0300
  • bd6db37624 fix(ui): info icons show the button hand, not the text caret (Windows) nick2000713 2026-06-29 11:55:18 +0200
  • 8d549eb4fa fix(max-performance): hide the same decorative elements reduce-effects hides nick2000713 2026-06-29 11:33:03 +0200
  • 1e68e339ca perf(bench): runtime toggle for password-manager autofill suppression nick2000713 2026-06-29 11:26:45 +0200
  • 84d6208bc9 perf: add Max Performance mode + stop password-manager autofill storm nick2000713 2026-06-29 11:06:13 +0200
  • 5d5aac9be3
    Merge pull request #946 from Nezreka/dev 2.8.1 BoulderBadgeDad 2026-06-28 23:35:05 -0700
  • 60e7193539 Release 2.8.1: version bump + release notes BoulderBadgeDad 2026-06-28 23:31:32 -0700
  • 9bb73c4cb4 fix(#945): Spotify backfill must disable cross-service search fallback BoulderBadgeDad 2026-06-28 23:10:11 -0700
  • 050ce79d51 playlist export: gate Spotify/Deezer buttons on connection (#945, increment 8) BoulderBadgeDad 2026-06-28 23:04:20 -0700
  • 4743dfd644 playlist export: opt-in confident-search backfill for the unmatched tail (#945, increment 7) BoulderBadgeDad 2026-06-28 23:02:08 -0700
  • 91eaaeabb2
    Merge pull request #944 from HellRa1SeR/fix-vulnerabilities BoulderBadgeDad 2026-06-28 22:30:15 -0700
  • 37c8b06a27 playlist export: resolve IDs from the discovery cache first (#945, increment 6) BoulderBadgeDad 2026-06-28 21:39:39 -0700
  • 6e1a377f37 test(#945): run db_service_track_id against a real temp schema BoulderBadgeDad 2026-06-28 21:26:39 -0700
  • 614deba0af playlist export: Sync to Spotify / Deezer modal options (#945, increment 5) BoulderBadgeDad 2026-06-28 21:22:30 -0700
  • 465a77f01d playlist export: Spotify/Deezer export job + endpoint (#945, increment 4) BoulderBadgeDad 2026-06-28 21:20:06 -0700
  • 0db72bf48d deezer: playlist-write via the ARL gw-light gateway (#945, increment 3) BoulderBadgeDad 2026-06-28 21:15:04 -0700
  • 37c2b9b569 spotify: playlist-write client + single-source OAuth scope (#945, increment 2) BoulderBadgeDad 2026-06-28 21:12:53 -0700
  • ede62824ad playlist export: resolver foundation for Spotify/Deezer targets (#945, increment 1) BoulderBadgeDad 2026-06-28 21:04:47 -0700
  • c593a17ac2 spotify search endpoint: plain query, not field-scoped — fixes pool-fix "no results" BoulderBadgeDad 2026-06-28 19:48:04 -0700
  • 62aa2bef2d library reorganize: Full vs Rename-only action in the modal (#875) BoulderBadgeDad 2026-06-28 19:11:03 -0700
  • 5df873655f library reorganize: wire rename-only mode through the queue (#875) BoulderBadgeDad 2026-06-28 19:08:42 -0700
  • 92c101e300 library reorganize: add a rename-only executor (#875) — core + tests BoulderBadgeDad 2026-06-28 18:52:42 -0700
  • ad715dddda fix(webui): resolve npm audit vulnerabilities via audit fix - vite HIGH: server.fs.deny bypass and NTLM hash disclosure on Windows - undici HIGH: TLS bypass, WebSocket DoS, cross-origin SOCKS5 routing - @babel/core LOW: arbitrary file read via sourceMappingURL comment All 90 frontend tests (16 suites) continue to pass. Siddharth Pradhan 2026-06-28 21:17:00 -0400
  • 34adb6fb32 worker orbs: run at ~30fps when reduce-effects is on (perf) BoulderBadgeDad 2026-06-28 17:35:46 -0700
  • 79383df6d8 worker orbs: let the toggle win over reduce-effects (experiment) BoulderBadgeDad 2026-06-28 17:29:22 -0700
  • a62d2d4310 ui appearance: default worker orbs OFF on Firefox for first-time users BoulderBadgeDad 2026-06-28 16:50:22 -0700
  • 3207310448 reduce-effects: kill expensive GPU properties, stop freezing functional motion BoulderBadgeDad 2026-06-28 16:22:10 -0700
  • 6a388c43fc
    Merge pull request #943 from nick2000713/ui/settings-page-cleanup BoulderBadgeDad 2026-06-28 16:05:38 -0700
  • 33fe92a525 Enlarge settings page header dev 2026-06-29 00:37:01 +0200
  • 512ec227be Polish security settings controls dev 2026-06-29 00:33:54 +0200
  • b07359cdb5 downloads: make the "file not found" failure actionable instead of opaque BoulderBadgeDad 2026-06-28 15:32:47 -0700
  • caee0fc3e2 Clarify import quality and AcoustID wording dev 2026-06-29 00:19:53 +0200
  • 969700674c import singles: default the Identify search to "artist - title" (dash) BoulderBadgeDad 2026-06-28 15:16:13 -0700
  • 8abf470018 imports: never delete a file we couldn't quarantine — leave it for retry BoulderBadgeDad 2026-06-28 15:10:43 -0700
  • 551df0c3ca downloads: fix file-finder collapsing on an unbalanced bracket (false "not found") BoulderBadgeDad 2026-06-28 15:10:30 -0700
  • 1382cb6117 Bootstrap saved appearance effects early dev 2026-06-29 00:01:56 +0200
  • 8149f35fae Refine settings header layout dev 2026-06-28 23:57:26 +0200
  • 1da677ee2d Keep settings logs viewer full width dev 2026-06-28 23:45:49 +0200
  • b43e44219a Merge remote-tracking branch 'upstream/main' into ui/settings-page-cleanup dev 2026-06-28 23:29:17 +0200
  • 0276aa8764 Update settings page overhaul dev 2026-06-28 22:52:09 +0200
  • 60dee1b4d8 Align source settings card spacing dev 2026-06-28 22:47:37 +0200
  • 2fb142dded jellyfin scan: page the bulk fetch so the no-progress watchdog can't false-stall BoulderBadgeDad 2026-06-28 13:41:38 -0700
  • e2317de0a4 Remove dead settings CSS dev 2026-06-28 22:25:28 +0200
  • 70dba77711 spotify oauth: keep the redirect_uri trailing slash (follow-up to #942) BoulderBadgeDad 2026-06-28 13:07:29 -0700
  • a1b0e787bc
    Merge pull request #942 from HellRa1SeR/fix-spotify-oauth BoulderBadgeDad 2026-06-28 13:03:16 -0700
  • d4e2dccd73 Render saved appearance before CSS paints dev 2026-06-28 21:55:47 +0200
  • d871899451 Apply saved appearance on app startup dev 2026-06-28 21:50:21 +0200
  • b72febbf1c manual search: INJECT the exact pasted-link track, don't rely on text search surfacing it (#932) BoulderBadgeDad 2026-06-28 12:32:36 -0700
  • 8aa8fcb94a test: drift guard — frontend lossless lists must match backend LOSSLESS_FORMATS (#941) BoulderBadgeDad 2026-06-28 12:18:57 -0700
  • 4af7600fd5 lossy copy: support all lossless formats, not just FLAC (#941) BoulderBadgeDad 2026-06-28 12:13:05 -0700
  • c96135ee60 add tests Siddharth Pradhan 2026-06-28 14:56:28 -0400
  • b62d9b5b08 quality: recognize DSD (.dsf/.dff) as lossless + stop the false "truncated" flag (#939) BoulderBadgeDad 2026-06-28 11:45:16 -0700
  • df0b4d3595 remove modelfile Siddharth Pradhan 2026-06-28 13:36:47 -0400
  • 579617f861 normalize spotify credentials during Oauth Siddharth Pradhan 2026-06-28 13:36:02 -0400
  • bcf99d76d3 import page: share ONE staging scan across files/groups/hints (#935) BoulderBadgeDad 2026-06-28 09:49:03 -0700
  • 77e3673c9c stats: normalize image URLs at cache-build time, not per /api/stats/cached read (#935) BoulderBadgeDad 2026-06-28 09:32:48 -0700
  • d62afbb2df Release 2.8.0: Discord release notes BoulderBadgeDad 2026-06-28 00:12:38 -0700
  • 36986e4668
    Merge pull request #940 from Nezreka/dev 2.8.0 BoulderBadgeDad 2026-06-28 00:04:42 -0700
  • d72f6396f0 lint: justify 4 best-effort try/except/pass (S110) so CI ruff passes BoulderBadgeDad 2026-06-28 00:03:19 -0700
  • 2b8f6f8611 Release 2.8.0: version bump + docker-publish tag + What's New / version modal + PR description BoulderBadgeDad 2026-06-27 23:58:22 -0700
  • b543db147a youtube: use pasted cookies.txt instead of passing 'custom' as a browser to yt-dlp BoulderBadgeDad 2026-06-27 23:47:38 -0700
  • d30273985f downloads: restore Clear Completed for persisted history (clears the whole completed list) BoulderBadgeDad 2026-06-27 23:37:06 -0700