Commit Graph

  • 16847a4b56
    Merge ad657f02a8 into 729a06c6d7 Ramon Makkelie 2026-06-25 13:43:59 +0200
  • ad657f02a8 Fix playlist sync status labels ramonskie 2026-06-25 13:43:24 +0200
  • 729a06c6d7 Download clients: don't crash init when the download path can't be created dev BoulderBadgeDad 2026-06-24 21:00:32 -0700
  • ed0a2079cf
    Merge pull request #896 from nick2000713/feature/best-quality-search-mode BoulderBadgeDad 2026-06-24 20:27:38 -0700
  • b4dde43b45
    Merge pull request #924 from Nezreka/dev main 2.7.8 BoulderBadgeDad 2026-06-24 20:16:09 -0700
  • f010fbc487 Release 2.7.8: version bump + What's New / version modal + PR description + docker-publish default tag BoulderBadgeDad 2026-06-24 19:02:44 -0700
  • 79101e1847 Sync detail: label wing-it rows 'Unmatched', not '→ Wishlist' BoulderBadgeDad 2026-06-24 18:30:49 -0700
  • 5b7f99c30b Sync wishlist re-add: skip wing-it stubs (match the sync), no clickable button BoulderBadgeDad 2026-06-24 16:51:43 -0700
  • d0966ec262 Sync wishlist re-add: build the IDENTICAL payload the auto-add uses BoulderBadgeDad 2026-06-24 16:41:40 -0700
  • 5cad2c02b0 Sync wishlist re-add: carry the cover image through (real parity) BoulderBadgeDad 2026-06-24 16:20:07 -0700
  • e148f859e7 Sync detail modal: click '→ Wishlist' to re-add a track with the original context BoulderBadgeDad 2026-06-24 16:09:55 -0700
  • 81a8b57dba feat(ui): show download source on quarantine rows (like Completed) dev 2026-06-25 00:04:16 +0200
  • df4ef99389 feat(ui): add a Custom… option for manual lossy bitrate entry dev 2026-06-24 23:30:27 +0200
  • 4d287c9699 fix(ui): shorten ranked-target group labels to "All lossless" / "All lossy" dev 2026-06-24 23:27:32 +0200
  • 551d12dba3 feat(ui): add "All lossless / All lossy" group entries to ranked targets dev 2026-06-24 23:24:28 +0200
  • 124e8bb21c fix(ui): polish the ranked-target add controls dev 2026-06-24 23:14:12 +0200
  • 774d0f6c65 feat(quality): make every audio format controllable via ranked targets dev 2026-06-24 23:01:20 +0200
  • a75b8063ab
    Merge 269e89d514 into 49d3c77808 Francesco Durighetto 2026-06-24 20:23:58 +0000
  • 49d3c77808 Align playlists: add Jellyfin support (in-place reorder via Move endpoint) BoulderBadgeDad 2026-06-24 13:20:32 -0700
  • bac5da9177 Align playlists: add Plex support + cover art + modal redesign BoulderBadgeDad 2026-06-24 13:12:09 -0700
  • 8afbfbfeab Align modal: pin footer so the Align buttons aren't clipped on long playlists BoulderBadgeDad 2026-06-24 13:03:10 -0700
  • 606d1f951d Align playlists: reorder a server playlist to the source order (Navidrome) BoulderBadgeDad 2026-06-24 12:58:01 -0700
  • 17137cea5b fix(quality): .aiff probe class + refresh tests drifted by the 2.7.4 merge (#896) dev 2026-06-24 21:40:14 +0200
  • 2ae9ad3c6f fix(repair): merge duplicate _fix_quality_upgrade + update tests (#896) dev 2026-06-24 21:40:04 +0200
  • d310b090e2 feat(quality): migrate old per-source Hi-Res preference into the profile (#896 #5) dev 2026-06-24 21:39:53 +0200
  • 13bfdaeda2 feat(quality): re-port AAC opt-in tier (#886) onto ranked-targets dev 2026-06-24 21:33:53 +0200
  • 8934c6418c fix(quality): correct ranking behaviour flagged in PR #896 (#3, #4) dev 2026-06-24 21:25:36 +0200
  • 5d5ed486c4 fix(quality): repair two PR #896 merge blockers dev 2026-06-24 21:24:54 +0200
  • ecd2500c39 Server playlist editor: surface 'accurate but out of order' + read-only server-order view BoulderBadgeDad 2026-06-24 12:15:47 -0700
  • 462a722cce #918 follow-up: self-heal stale truncated iTunes album-tracks cache BoulderBadgeDad 2026-06-24 09:37:14 -0700
  • 0f2d6ddb63 gitignore: ignore ALL database/*.db (+ -shm/-wal/backup), not just music_library BoulderBadgeDad 2026-06-24 08:57:54 -0700
  • 4c47c01076 #922: import search labelled Spotify Free users' primary source as 'Deezer' BoulderBadgeDad 2026-06-24 08:43:52 -0700
  • 877a86c9b0 Video Discover: split Top 10 today into Movies + TV Shows (Netflix-style) video BoulderBadgeDad 2026-06-24 08:00:13 -0700
  • e7552d3c62 Video Discover: fix orphaned Top 10 numerals when hiding owned + lift 'New' up the page BoulderBadgeDad 2026-06-24 07:33:58 -0700
  • dd342d03fd
    Merge 6b7e6bff61 into d647fc8ad1 Francesco Durighetto 2026-06-24 15:32:19 +0100
  • 1005c7e306 refactor(quality-upgrade): remove legacy hardcoded rank constants and dead functions dev 2026-06-24 16:02:30 +0200
  • ff12d8bbf2 fix(repair-jobs): boolean settings saved as string 'true'/'false' by UI dropdown dev 2026-06-24 15:59:25 +0200
  • 94637cbe6f fix(quality-upgrade): ranking-based top-target check via rank_candidate dev 2026-06-24 15:45:39 +0200
  • 1f14fb4d5e fix(quarantine): align single rows with groups via fixed-width alt-slot dev 2026-06-24 15:44:23 +0200
  • ef0b68a973 fix(quarantine+quality): persistent group toggle, better alt-row UI, quality upgrade default scope dev 2026-06-24 15:26:41 +0200
  • e4ba27d8b3 fix(quality-upgrade): pass config_manager to path resolver so relative DB paths resolve dev 2026-06-24 15:16:42 +0200
  • bdbeff89d6 Merge feature/quarantine-ui-consolidation: consolidate quarantine UI dev 2026-06-24 15:14:59 +0200
  • 5f5bf4b24e feat(quarantine): consolidate quarantine view into downloads page filter dev 2026-06-24 15:14:54 +0200
  • 83f21b248d fix(quarantine): manager-tab approve immediately marks task completed dev 2026-06-24 13:05:25 +0200
  • 8f66432592 fix(quarantine): discard late quarantine entries when alternative approved dev 2026-06-24 13:04:06 +0200
  • 1770cae04f fix(quarantine): use name-based group key across batches/sources dev 2026-06-24 12:48:04 +0200
  • 842bc0ab34 fix(quarantine): auto-delete siblings + cancel retry on approve (#920) dev 2026-06-24 12:37:33 +0200
  • 55f7176c34 fix(quarantine): auto-refresh panel during batch + quarantine retry badge dev 2026-06-24 12:27:05 +0200
  • 24b79dc29e Video Discover: sticky 'jump to section' nav for the deep rail stack BoulderBadgeDad 2026-06-23 23:58:53 -0700
  • a275cbfb7a Video Discover: Top 10 ranked rail + New/Mood/Studios sections + NEW badge BoulderBadgeDad 2026-06-23 23:55:30 -0700
  • bbf7abad1b video discover: wire Netflix-class TMDB filters (keywords/studio/network/cast/runtime/cert/release-window + daily trending) BoulderBadgeDad 2026-06-23 23:45:41 -0700
  • ec99d686cc
    Merge pull request #919 from Nezreka/dev 2.7.7 BoulderBadgeDad 2026-06-23 23:27:46 -0700
  • d647fc8ad1 Release 2.7.7: version bump + What's New / version modal + PR description + docker-publish default tag BoulderBadgeDad 2026-06-23 23:24:39 -0700
  • 9d091207f6 fix: atomic file placement so Jellyfin can't index a half-written track (null-disc) BoulderBadgeDad 2026-06-23 23:17:50 -0700
  • 03926bd6e2 #913 phase 1: generate listening recommendations during the watchlist scan BoulderBadgeDad 2026-06-23 22:58:04 -0700
  • c21031b9bc #913: add group_similars_by_seed assembly helper (pure, tested) BoulderBadgeDad 2026-06-23 22:53:57 -0700
  • 9ad5188610 #913: listening-driven recommendation core (pure, tested) BoulderBadgeDad 2026-06-23 22:47:43 -0700
  • d4e80fdaa0 #915: redownload pulls full album_data from the primary source for iTunes/Deezer too BoulderBadgeDad 2026-06-23 19:21:50 -0700
  • 2b17ed8451 #915: post-processing hydrates lean album context from the PRIMARY source (parity with Reorganize) BoulderBadgeDad 2026-06-23 18:46:35 -0700
  • cce7df4f3d #918: iTunes album fetch no longer truncates albums >50 tracks BoulderBadgeDad 2026-06-23 17:58:17 -0700
  • 600a744f7f #917: 'I have this' reuses the album's existing folder year instead of dropping it BoulderBadgeDad 2026-06-23 16:18:00 -0700
  • 2934903874 #916: align missing-track title match with the Reorganize matcher BoulderBadgeDad 2026-06-23 15:58:36 -0700
  • e32b4ec727 feat(repair): require_top_target option — flag files upgradeable to preferred quality dev 2026-06-24 00:44:24 +0200
  • e8cc7ca2c8 fix(acoustid): distinguish unverified-quarantine from mismatch + gate unverified tab on require_verified dev 2026-06-24 00:33:53 +0200
  • 16cb29c9ee #916: enhanced view stops flagging multi-disc tracks as missing BoulderBadgeDad 2026-06-23 15:32:26 -0700
  • 15fa64248c #905 (root cause): Navidrome reconcile read current tracks via missing t.id -> playlists doubled BoulderBadgeDad 2026-06-23 15:19:47 -0700
  • 10a1e1337f #905 (part 1): push the deduped track list to the media server, not the raw matched list BoulderBadgeDad 2026-06-23 14:39:29 -0700
  • 9d16abf952 #914: Reorganize matches bare local titles to iTunes '(feat. X)' tracks BoulderBadgeDad 2026-06-23 14:27:31 -0700
  • fc2c38ad97 #908: get YouTube playlists past the ~100-track cap (yt-dlp #16943 workaround) BoulderBadgeDad 2026-06-23 13:35:04 -0700
  • 9f5bc0de89 #909: backfill the YT-artist column from a confident match instead of 'Unknown Artist' BoulderBadgeDad 2026-06-23 11:54:55 -0700
  • e301877e64 #912: Empty Folder Cleaner reads its opt-in from the right config key BoulderBadgeDad 2026-06-23 11:26:00 -0700
  • 65f73fae92 #911: redownload via the album's CANONICAL source (covers the 67% with multiple ids) BoulderBadgeDad 2026-06-23 11:20:03 -0700
  • 69cb51cc13 #911: album Redownload uses the stored match id, not a fresh search BoulderBadgeDad 2026-06-23 11:12:29 -0700
  • f2f4f8ccee #910: add the per-track 'year' column the Full Refresh insert needs BoulderBadgeDad 2026-06-23 11:03:24 -0700
  • 378ae39bef tests: add missing tests/video package marker BoulderBadgeDad 2026-06-23 10:54:27 -0700
  • 82cbc22577 video discover: organise rails into fixed, labelled sections (stable order) BoulderBadgeDad 2026-06-23 10:39:41 -0700
  • 09a1646a6a video discover: fill rails to ~20 via concurrent deep-paging (no more 4-card rows) BoulderBadgeDad 2026-06-23 10:20:52 -0700
  • 4f24ac2733 video discover: stop duplicate 'Recommended for you' rows stacking on rail rebuild BoulderBadgeDad 2026-06-23 10:00:52 -0700
  • cd29239b2f video discover: move 'My services' out of the page-wide bar (it's a rail builder, not a filter) BoulderBadgeDad 2026-06-23 09:53:36 -0700
  • 1feb34621e video discover: cascade rail cards in instead of one block flash BoulderBadgeDad 2026-06-23 09:32:18 -0700
  • 73395b9668 video discover: give the Browse panel its own language filter (self-contained search) BoulderBadgeDad 2026-06-23 09:26:22 -0700
  • dffc5c2e5d video discover: lift page-wide controls into a distinct 'Across Discover' bar BoulderBadgeDad 2026-06-23 09:19:19 -0700
  • b42ce3e0ca docs(acoustid): strengthen require_verified warning about false-quarantine risk nick2000713 2026-06-23 12:57:00 +0200
  • 674b80972a feat(acoustid): opt-in fail-closed mode — only import verified tracks nick2000713 2026-06-23 12:50:58 +0200
  • d169818043 feat(quality): upgrade Finder to v3 quality + clarify the two quality jobs nick2000713 2026-06-23 12:43:02 +0200
  • 7186d24120 perf(imports): single-pass ffmpeg audio guard + opt-in toggle (default off) nick2000713 2026-06-23 12:07:28 +0200
  • 63374b32f1 Merge remote-tracking branch 'nezreka/dev' into feature/best-quality-search-mode nick2000713 2026-06-23 11:33:50 +0200
  • 5906576a13 video discover phase 3: 'On your streaming services' rail BoulderBadgeDad 2026-06-23 00:33:35 -0700
  • 6734b6ab22 video discover phase 4 (UI): 'Not interested' card button + ignore-list modal BoulderBadgeDad 2026-06-23 00:29:46 -0700
  • 3f344a8cd9 video discover phase 4 (backend): ignore list / 'Not interested' BoulderBadgeDad 2026-06-23 00:25:10 -0700
  • d019e3aca1 video discover: hidden-gems rails (highly-rated, non-blockbuster) BoulderBadgeDad 2026-06-23 00:13:19 -0700
  • f1b6fd5e31 video discover: language preference UI (multi-select chips) BoulderBadgeDad 2026-06-23 00:11:56 -0700
  • 28fe3d2b0b video discover: preferred-languages filter (keep Bollywood etc. out of general feeds) BoulderBadgeDad 2026-06-23 00:09:51 -0700
  • e7b1a239b4 video discover phase 2: blended 'Recommended for you' wall BoulderBadgeDad 2026-06-23 00:05:26 -0700
  • d984895cba video discover: keep foreign titles out of general rails + fix hide-owned sparse rows BoulderBadgeDad 2026-06-22 23:59:21 -0700
  • a68d9755a9 video discover: lazy collection-id backfill so 'complete your collections' lights up BoulderBadgeDad 2026-06-22 23:48:45 -0700
  • 8236b95db0 fix: don't pass the 'custom' cookies sentinel to yt-dlp (unsupported browser error) BoulderBadgeDad 2026-06-22 23:41:37 -0700
  • 78874313cc fix(video): move idx_movies_collection to _POST_INDEXES (broke DB init) BoulderBadgeDad 2026-06-22 23:34:51 -0700
  • a8ce359cb7 video discover phase 1e: 'what am I missing' gap rails on the discover page BoulderBadgeDad 2026-06-22 23:30:05 -0700
  • ba6065f1b3 video discover phase 1b-d: gap-engine queries, engine collection fetch, /discover/gaps API BoulderBadgeDad 2026-06-22 23:28:23 -0700