Commit graph

  • 55658f15da video download modal: per-source 'Auto' button (search + grab the best release) BoulderBadgeDad 2026-06-20 00:03:11 -0700
  • 1fa3e1b599 video automations: working builder + New Automation button (own builder, not music's) BoulderBadgeDad 2026-06-19 23:02:52 -0700
  • 5d488bceb4 tests: isolate the VIDEO database too (never open the real video_library.db) BoulderBadgeDad 2026-06-19 23:02:38 -0700
  • 40149d09f7 video automations: 'Scan Video Library' — the first video twin (shared engine) BoulderBadgeDad 2026-06-19 19:38:18 -0700
  • 13b30a5997 video sources: add refresh_sections() — tell the server to rescan VIDEO sections BoulderBadgeDad 2026-06-19 19:03:51 -0700
  • 3698ed1ec0 video Automations: hide the music system automations (show only owned_by='video') BoulderBadgeDad 2026-06-19 18:29:02 -0700
  • 483cc61e08 video Automations hub: empty the music-specific tabs (keep Reference) BoulderBadgeDad 2026-06-19 18:18:31 -0700
  • 71d48f704d video Automations: reuse the music page's own builders for an exact match BoulderBadgeDad 2026-06-19 18:13:53 -0700
  • 5d8db8c5a4 video Automations page: match the music page's exact layout BoulderBadgeDad 2026-06-19 18:05:00 -0700
  • c78b90826a video: Automations page (shared system automations, video view) BoulderBadgeDad 2026-06-19 18:01:23 -0700
  • 937f3094c6 video Downloads page: stop polling when off-page (incl. music side); 2s cadence BoulderBadgeDad 2026-06-19 17:28:45 -0700
  • 3af3a1cd24 video downloads Phase C: auto-retry + alternate-query requery BoulderBadgeDad 2026-06-19 17:12:44 -0700
  • 5661ccbfd2 video search: poll the FULL slskd timeout (~60s) + explain audio-only results BoulderBadgeDad 2026-06-19 16:55:53 -0700
  • 48f6cc5e3c video Downloads cards: poster + movie details + Open-page button BoulderBadgeDad 2026-06-19 16:29:27 -0700
  • 1c3f255a66 video Downloads page: actually match the music page (.adl-* layout, full width) BoulderBadgeDad 2026-06-19 15:47:02 -0700
  • d25be2c3c6 video downloads Phase B: page redesign — filter tabs, cancel/retry, depth BoulderBadgeDad 2026-06-19 15:34:50 -0700
  • 0bb77bf782 video downloads Phase A: cancelled state, cancel/retry, monitor robustness BoulderBadgeDad 2026-06-19 15:31:51 -0700
  • 42c67a6d4d video search: stream slskd results (start + poll) — fixes 'no results' BoulderBadgeDad 2026-06-19 15:23:47 -0700
  • cb56ee2bee video backfill: log the title (was 'None') — read item['title'] not ['name'] BoulderBadgeDad 2026-06-19 15:12:02 -0700
  • 7e0726d5eb video Downloads page: smooth in-place updates (no more blink) + polish BoulderBadgeDad 2026-06-19 15:10:04 -0700
  • fff6448a14 video downloads: wire Grab + build the live Downloads page BoulderBadgeDad 2026-06-19 14:59:22 -0700
  • ceccb4ee65 video downloads: monitor thread + grab/active/clear endpoints BoulderBadgeDad 2026-06-19 14:53:18 -0700
  • 9f687c061a video downloads pipeline: data + pure logic foundation BoulderBadgeDad 2026-06-19 14:50:27 -0700
  • 84fac1f80a video downloads: share the INPUT folder with music; add libraries to compose BoulderBadgeDad 2026-06-19 14:40:22 -0700
  • 89bedaf140 video downloads: split transfer folder into Movies / TV / YouTube libraries BoulderBadgeDad 2026-06-19 14:32:54 -0700
  • 86fde7d62c video search UI: show slskd peers/username, live vs demo, errors BoulderBadgeDad 2026-06-19 14:17:45 -0700
  • 305020f61e video search: REAL slskd search for the Soulseek source (was mocked) BoulderBadgeDad 2026-06-19 14:16:44 -0700
  • bf17ef3fab video search: per-source result panels + redesigned, readable cards BoulderBadgeDad 2026-06-19 13:58:43 -0700
  • 3490092e3d video search: each source returns its own results (was identical) BoulderBadgeDad 2026-06-19 13:56:04 -0700
  • c5bffe51a5 video search UI: real result cards across movie/episode/season/show scopes BoulderBadgeDad 2026-06-19 13:44:50 -0700
  • 44b074772b video search: evaluate/rank pipeline + mock indexer + /downloads/search BoulderBadgeDad 2026-06-19 13:39:09 -0700
  • 958a5cd0a4 fix: video sidebar highlight needed two clicks (music chrome wiped it) BoulderBadgeDad 2026-06-19 13:36:00 -0700
  • 9b1d76b4ff video search: scene/p2p release-title parser (Sonarr-style) BoulderBadgeDad 2026-06-19 13:28:37 -0700
  • 8803c1bd0c video download: dedicated TV show view — season/episode picker BoulderBadgeDad 2026-06-19 12:06:23 -0700
  • ecd9c25e3c video download view: drop the footnote + make Sources section pop BoulderBadgeDad 2026-06-19 11:42:43 -0700
  • ac7b47e4db video download view: take the vibe up a level (staggered + animated) BoulderBadgeDad 2026-06-19 11:39:19 -0700
  • 2a61ac6a13 video download: render the download view IN-PLACE in the get-modal (no 2nd modal) BoulderBadgeDad 2026-06-19 11:27:59 -0700
  • 1dc727f0bb video: universal Download modal (movie/show/youtube) — visual scaffolding BoulderBadgeDad 2026-06-19 11:06:11 -0700
  • e880be9910 video downloads: quality evaluation seam (owned-copy-vs-profile verdict) BoulderBadgeDad 2026-06-19 11:01:03 -0700
  • ddde6cba68 video downloads: separate YouTube quality profile (yt-dlp) BoulderBadgeDad 2026-06-19 10:45:38 -0700
  • 9f38c34900 video quality profile: loose resolution cutoff + movie/episode size split BoulderBadgeDad 2026-06-19 10:40:53 -0700
  • bfc207f21a fix(ui): remove per-source 'Allow quality fallback' checkboxes dev 2026-06-19 18:48:14 +0200
  • cd13b1185e video quality profile UI: rich-curated ladder + cutoff + rejects + soft prefs BoulderBadgeDad 2026-06-19 08:43:47 -0700
  • 23cefd3c15 video quality profile: rebuild as rich-curated Radarr-class model (logic + tests) BoulderBadgeDad 2026-06-19 08:38:16 -0700
  • 975f81f476 video downloads: quality profile resolution/source rows reuse the hybrid-source-item styling BoulderBadgeDad 2026-06-19 08:13:24 -0700
  • 16ba035330 video downloads: UX/visual polish on the Downloads tab (review feedback) BoulderBadgeDad 2026-06-19 08:04:02 -0700
  • b761229a00 merge: pull upstream/main (2.7.4) into feature/best-quality-search-mode dev 2026-06-19 16:54:51 +0200
  • 441f0e9ad1 video downloads: reword download_config docstring (a wrapped line started with 'from the music side' — tripped the core/video no-music-import guard, a test false positive) BoulderBadgeDad 2026-06-19 00:25:57 -0700
  • 0a0859df7a video downloads (phase 4): shared slskd connection block on the video Downloads tab BoulderBadgeDad 2026-06-19 00:20:44 -0700
  • 4d45cc614f video downloads (phase 3): source mode + hybrid chain (soulseek/torrent/usenet only) BoulderBadgeDad 2026-06-19 00:15:13 -0700
  • 887ee01cb2 video downloads (phase 2): unified video quality profile BoulderBadgeDad 2026-06-19 00:11:37 -0700
  • 8392de9207 video downloads (phase 1): video-specific download + transfer folders BoulderBadgeDad 2026-06-19 00:04:27 -0700
  • 8c2f66bea9 video enrichment: keyless workers read 'Disabled' (not 'Not configured') when off BoulderBadgeDad 2026-06-18 23:29:22 -0700
  • f98ceecd68 video enrichment: show the 5 new workers in the dashboard-header orbs too BoulderBadgeDad 2026-06-18 23:22:32 -0700
  • b3f704fbfd video enrichment: add Wikidata (official website link) — full parity, completes the batch BoulderBadgeDad 2026-06-18 23:13:22 -0700
  • c33810f39f video enrichment: add DeArrow (crowd-sourced YouTube titles) — full parity BoulderBadgeDad 2026-06-18 23:09:02 -0700
  • 6f8a2a3f7a video enrichment: add AniList (anime score) — keyless GraphQL worker, opt-in BoulderBadgeDad 2026-06-18 23:01:23 -0700
  • 5a95619e22 video enrichment: add TVmaze (TV community rating) — keyless worker, full parity BoulderBadgeDad 2026-06-18 22:56:02 -0700
  • 314e587094 video enrichment: add Trakt (community audience rating) — full worker parity BoulderBadgeDad 2026-06-18 22:33:36 -0700
  • c55a4fa10e video detail: surface subtitle availability (OpenSubtitles) + fix B023 BoulderBadgeDad 2026-06-18 21:58:06 -0700
  • f7f21f44c5 video dashboard: live system stats (memory + uptime) from the shared endpoint BoulderBadgeDad 2026-06-18 21:24:59 -0700
  • 71cc6618b3
    Merge pull request #892 from Nezreka/dev 2.7.4 BoulderBadgeDad 2026-06-18 21:07:07 -0700
  • cc7d48b736 Release 2.7.4: bump version + What's New / version modal + PR description BoulderBadgeDad 2026-06-18 20:44:53 -0700
  • 298d825757 #891: clear dead folders left with only cover images / .lrc sidecars BoulderBadgeDad 2026-06-18 20:07:41 -0700
  • 213592821b #890: strip leading track-number prefix from filename-derived titles BoulderBadgeDad 2026-06-18 18:35:04 -0700
  • 8e218303be #889: FIX data loss — re-identify to the same release no longer deletes the file BoulderBadgeDad 2026-06-18 17:13:46 -0700
  • 1ccc7b5e15 #889: fix re-identify modal header — clip the blurred bg in its own layer BoulderBadgeDad 2026-06-18 16:57:24 -0700
  • 1367108e02 #889: fix replace-delete (resolve path) + re-identify now inherits album year/track# BoulderBadgeDad 2026-06-18 16:46:07 -0700
  • 9a36d6f70b #889: precise error + diagnostics when a track's file can't be located for re-identify BoulderBadgeDad 2026-06-18 16:28:56 -0700
  • c4c112d17e #889 Phase 5: wire the Re-identify button into the Enhanced library view BoulderBadgeDad 2026-06-18 15:39:41 -0700
  • f4c16ecc22 #889 Phase 4: the Re-identify modal + apply backend BoulderBadgeDad 2026-06-18 15:37:56 -0700
  • 3e554f8274 #889 Phase 3: re-identify search — multi-source track→release lookup + API BoulderBadgeDad 2026-06-18 15:31:33 -0700
  • 08fb21fb13 #889 Phase 2: import seam — hint short-circuits identification, replaces on success BoulderBadgeDad 2026-06-18 15:25:37 -0700
  • dbd8278a14 #889 Phase 1: re-identify hint store (DB table + pure create/find/consume seam) BoulderBadgeDad 2026-06-18 15:15:41 -0700
  • 70ea7eabf6 Update style.css BoulderBadgeDad 2026-06-18 15:05:14 -0700
  • b04010a037 #885: repair-job scheduling is timezone-independent (Australia/Sydney loop) BoulderBadgeDad 2026-06-18 14:02:09 -0700
  • 400b35d655 #886: AAC as an opt-in Soulseek quality tier (purely additive, off by default) BoulderBadgeDad 2026-06-18 13:45:52 -0700
  • 56da2e105c #887: Spotify enrichment shows 'Running (Spotify Free)' for no-auth users, not 'Not Authenticated' BoulderBadgeDad 2026-06-18 13:00:33 -0700
  • a5267ee8cf NZBGet: import from the final location, not the incomplete '….#NZBID' dir BoulderBadgeDad 2026-06-18 12:47:19 -0700
  • 2ecbd8badc lint: log the skipped album source-id lookup instead of a bare try/except/pass (ruff S110) BoulderBadgeDad 2026-06-18 12:09:22 -0700
  • 820ff20139 Settings UI: 'Match singles to their parent album' toggle (Library > Post-Processing) BoulderBadgeDad 2026-06-18 09:44:17 -0700
  • 58363ae510 Library: wire single->album resolution into import detection (gated, fail-safe) BoulderBadgeDad 2026-06-18 09:30:11 -0700
  • 00b26fc5f1 Library: single->parent-album resolution core (pure selector + injected-I/O resolver) BoulderBadgeDad 2026-06-18 09:24:06 -0700
  • b216233658 Library: group imported albums by canonical release id, not just the name string BoulderBadgeDad 2026-06-18 09:16:00 -0700
  • 3b0394dbc6 Metadata: a mid-enrichment crash on an art-less file no longer leaves it UNTAGGED BoulderBadgeDad 2026-06-18 08:42:04 -0700
  • 7e175fec02 Cover art: a sequel digit glued to a CJK title ('…サウンドトラック2') now blocks the wrong-album match BoulderBadgeDad 2026-06-18 08:24:54 -0700
  • 530d6f181f Video enrichment: add the 4 new workers to the dashboard header BoulderBadgeDad 2026-06-18 08:04:53 -0700
  • 6f14f15dd6 Video enrichment: surface enriched YouTube data BoulderBadgeDad 2026-06-17 23:35:59 -0700
  • 21a1e5ddbb Video enrichment: wire new workers into Manage Workers modal + Settings BoulderBadgeDad 2026-06-17 23:31:33 -0700
  • 278ba47519 Video enrichment: backfill-worker framework + 4 new workers (fanart.tv, OpenSubtitles, Return YouTube Dislike, SponsorBlock) BoulderBadgeDad 2026-06-17 23:26:46 -0700
  • 856f14824f Playlist/channel extraction: stop pinning a static user_agent for yt-dlp BoulderBadgeDad 2026-06-17 22:21:12 -0700
  • 67197ce956 Playlists: page the FULL list when YouTube cookies are set (like ytdl-sub) BoulderBadgeDad 2026-06-17 22:07:50 -0700
  • 8e56273c9d Playlist count: show the TRUE total + load ~200 (was capped at ~100 via yt-dlp) BoulderBadgeDad 2026-06-17 21:40:56 -0700
  • 5506155abe YouTube videos: play in-app (stream via the embed overlay) BoulderBadgeDad 2026-06-17 21:29:04 -0700
  • 4788b54c91 Playlist detail: fix 'Open on YouTube' + hero Watchlist button (were channel-only) BoulderBadgeDad 2026-06-17 21:24:49 -0700
  • ba7562c5f2 Watchlist cards: show the channel/playlist video count, not '0 videos' BoulderBadgeDad 2026-06-17 21:13:33 -0700
  • abb9d0e89e + Wish: use the app-standard watchlist-button chrome (was bespoke) BoulderBadgeDad 2026-06-17 21:02:08 -0700
  • 113a5ded38 Fix: + Wish silently failed on playlist detail pages (no channel context -> 400) BoulderBadgeDad 2026-06-17 20:56:45 -0700
  • 62b815a3fe Channel page: Add-to-watchlist on each playlist section BoulderBadgeDad 2026-06-17 20:48:31 -0700
  • e141e3dcbd Playlist search result: standard 'Add to Watchlist' button (not 'Follow') BoulderBadgeDad 2026-06-17 20:42:30 -0700