-
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