Commit Graph

  • 1fc8214f8f chore(scheduler): dedup token-user query + drop pointless rss lambda peter 2026-07-11 19:44:53 +02:00
  • 7e18d9698f fix(config): honor DB-overridable download layout + retention (env-vs-DB drift) peter 2026-07-11 19:44:53 +02:00
  • 02d334825b Merge chore/code-hygiene: Phase 2 #5 YouTube player (1 bug + cleanups) peter 2026-07-11 18:50:06 +02:00
  • 6648ba557a fix(player): short-video auto-watch + player cleanups peter 2026-07-11 18:49:56 +02:00
  • 7f35be1a78 Merge chore/code-hygiene: Phase 2 #4 Playlists (cleanup + bug fixes) peter 2026-07-11 18:33:28 +02:00
  • 09a6095363 fix(playlists-ui): surface YouTube 403s + rollback remove; drop dup name/import peter 2026-07-11 18:33:16 +02:00
  • a7c8b3d0a6 fix(playlists): reorder position collision + dedup remove helper peter 2026-07-11 18:33:16 +02:00
  • 2b2af2aca2 Merge chore/code-hygiene: Phase 2 #3 Channels (cleanup + 2 bug fixes) peter 2026-07-11 18:11:37 +02:00
  • 1fb10895cc fix(channels): ChannelPage subscribe — surface 403 + fix stale caches peter 2026-07-11 18:11:23 +02:00
  • c06e8462be chore(channels-ui): Phase 2 #3 frontend cleanup — dedup 403 handler, count cell, LS keys, dead i18n peter 2026-07-11 18:11:23 +02:00
  • e00fffd000 chore(channels): Phase 2 #3 backend cleanup — extract blocked + summary helpers peter 2026-07-11 18:11:23 +02:00
  • 939ca6ee6d Merge chore/code-hygiene: Downloads FE follow-up + Phase 2 #2 Feed (cleanup + 2 bug fixes) peter 2026-07-11 17:44:11 +02:00
  • 83f5b87424 fix(feed): repair 2 bugs found in the Phase 2 #2 review peter 2026-07-11 17:43:18 +02:00
  • bafaa5192d chore(feed-ui): Phase 2 #2 frontend cleanup — hoist, drop wrapper, dedup caches peter 2026-07-11 17:37:52 +02:00
  • 957396aee7 chore(feed): Phase 2 #2 backend cleanup — dead return, dup helpers, shared const peter 2026-07-11 17:37:52 +02:00
  • c9285b8c25 chore(downloads-ui): FE-C4 follow-up cleanup peter 2026-07-11 17:10:15 +02:00
  • fef8036d6c fix(downloads-ui): editor tail no-op + persisted-tab fallback (+ dead ternary) peter 2026-07-11 16:37:57 +02:00
  • 4b22a7fa23 Merge branch 'dev' into chore/code-hygiene peter 2026-07-11 16:22:39 +02:00
  • a24e77c693 Merge bugfix/downloads: repair 5 Downloads backend bugs (B1-B5) peter 2026-07-11 16:22:22 +02:00
  • 006f38382b fix(downloads): repair 5 confirmed backend bugs (B1-B5) peter 2026-07-11 16:15:12 +02:00
  • 39748c394b chore(downloads): C3-C6 — DRY the source-URL, filename, and serialize helpers peter 2026-07-11 05:47:51 +02:00
  • efcac631de chore(downloads): C1+C2 — drop dead target_ext; centralize path-traversal guard peter 2026-07-11 05:41:43 +02:00
  • 0b2740de0f chore: Phase 1 hygiene — drop unused imports/exports/types (behavior-neutral) peter 2026-07-11 04:47:08 +02:00
  • 7842e48952 Merge: promote dev to prod peter 2026-07-11 03:52:32 +02:00
  • 2bdccfb8c7 release: v0.37.0 — unified library, series view, adaptive filters, collections picker peter 2026-07-11 03:50:34 +02:00
  • 11bc8bf347 Merge feature/plex-series-view into dev peter 2026-07-11 03:42:50 +02:00
  • 196f3bf2f9 fix(plex): genre facet offers only co-occurring genres in AND mode peter 2026-07-11 03:41:17 +02:00
  • b85d12e0c9 feat(plex): restore Collections filter as a cross-library union picker peter 2026-07-11 03:30:33 +02:00
  • 213145b7bd perf(plex): batch bulk pushes, cache show enrichment; remove dead code + DRY (F6/F8/F10) peter 2026-07-11 03:10:02 +02:00
  • d46f55af83 fix(plex): address code-review findings (F1-F3, F5, F9) peter 2026-07-11 02:25:14 +02:00
  • 3c46bc4377 fix(plex): series-page UX fixes from UAT (7 items) peter 2026-07-11 01:34:30 +02:00
  • 819e17536c feat(plex): series-page polish — season/episode quick actions + glassy art backdrop peter 2026-07-11 01:01:34 +02:00
  • cb93b698f4 fix(plex): facet + sort refinements peter 2026-07-11 00:45:05 +02:00
  • 59d6ad01b3 feat(plex): adaptive (faceted) filters — each filter narrows the others peter 2026-07-11 00:31:47 +02:00
  • b526b4d9cc feat(plex): unify movies + shows into one cross-library browser peter 2026-07-11 00:15:49 +02:00
  • 5fa1c701c2 feat(plex): Plex-web-style 3-level series view (Phase 2 of series view) peter 2026-07-10 22:08:04 +02:00
  • 56799e5bcc feat(plex): TV-show metadata sync + series filters (Phase 1 of series view) peter 2026-07-10 21:43:09 +02:00
  • 1401294ad1 Merge: promote dev to prod peter 2026-07-10 18:16:15 +02:00
  • 6397844863 Merge improvement/player-drop-hd-experiment: drop HD flash, clean notes (v0.36.4) peter 2026-07-10 18:14:32 +02:00
  • 8279f259bb revert(player): drop the experimental HD-unlock fullscreen flash peter 2026-07-10 18:14:32 +02:00
  • 409f8c0ce8 Merge: promote dev to prod peter 2026-07-10 17:32:43 +02:00
  • f785650269 Merge improvement/player-hd-unlock-flash: experimental windowed-HD unlock (v0.36.3) peter 2026-07-10 17:30:50 +02:00
  • aac03e2c2b chore(release): 0.36.3 peter 2026-07-10 17:30:50 +02:00
  • fcd58f12c9 feat(player): experimental one-time fullscreen flash to unlock windowed HD peter 2026-07-10 17:30:49 +02:00
  • c3987a8d52 Merge: promote dev to prod peter 2026-07-10 16:58:07 +02:00
  • 1d0c77b34a Merge improvement/player-revert-transform: drop ineffective HD hack (v0.36.2) peter 2026-07-10 16:56:24 +02:00
  • 967364b938 chore(release): 0.36.2 peter 2026-07-10 16:56:24 +02:00
  • e678a267ae revert(player): drop the transform-scale HD hack (didn't beat YouTube's cap) peter 2026-07-10 16:56:24 +02:00
  • 92bba3abf2 Merge: promote dev to prod peter 2026-07-10 16:29:30 +02:00
  • 05e6554048 Merge improvement/player-windowed-hd: windowed 1080p + scroll-anywhere volume (v0.36.1) peter 2026-07-10 16:27:43 +02:00
  • 3a25f8341f chore(release): 0.36.1 peter 2026-07-10 16:27:43 +02:00
  • d6ce4a0477 feat(player): unlock 1080p in the windowed player + scroll-anywhere volume peter 2026-07-10 16:27:42 +02:00
  • 1d908cabb2 Merge: promote dev to prod peter 2026-07-10 15:54:24 +02:00
  • b8fcef4ed8 Merge improvement/player-quality-native-controls: native YT menu access + higher quality (v0.36.0) peter 2026-07-10 15:52:43 +02:00
  • bab1b3361a chore(release): 0.36.0 peter 2026-07-10 15:52:34 +02:00
  • ba08f741b1 feat(player): open YouTube's native settings menu fully + push higher quality peter 2026-07-10 15:52:34 +02:00
  • 033b1d454e Merge: promote dev to prod peter 2026-07-10 00:50:10 +02:00
  • 1dd42f06a2 chore(release): 0.35.0 — two-way Plex watch sync (Phase B + C) peter 2026-07-10 00:47:55 +02:00
  • bd6b50e435 Merge: Plex watch-state sync Phase C (incremental + full reconcile, 2-way complete) peter 2026-07-10 00:46:22 +02:00
  • 58447e19f0 feat(plex): Phase C — incremental + full Plex↔Siftlode watch reconcile peter 2026-07-10 00:46:22 +02:00
  • a2092cc65d Merge: Plex watch-state sync Phase B (Siftlode→Plex push) + auto-advance watched-mark fix peter 2026-07-10 00:18:54 +02:00
  • 68ba887540 fix(plex): mark the finished episode on the correct id when auto-advancing peter 2026-07-10 00:18:44 +02:00
  • 9aea0a3c88 feat(plex): Phase B — Siftlode→Plex watch-state push peter 2026-07-10 00:17:56 +02:00
  • f863181778 Merge: promote dev to prod peter 2026-07-09 15:36:21 +02:00
  • 9ecb3e6e81 chore(release): 0.34.2 — watch-sync toggle UX polish peter 2026-07-09 15:34:52 +02:00
  • e392c26aa5 fix(plex): optimistic toggle + 'importing' indicator for watch-sync peter 2026-07-09 15:34:28 +02:00
  • 91eb8d464a Merge: promote dev to prod peter 2026-07-09 15:20:48 +02:00
  • 980f228561 chore(release): 0.34.1 — Plex watch import concurrency fix peter 2026-07-09 15:19:17 +02:00
  • c5d14ea00f fix(plex): make watch import concurrency-safe (upsert), guard toggle peter 2026-07-09 15:18:19 +02:00
  • ecdbde04e7 Merge: promote dev to prod peter 2026-07-09 14:44:48 +02:00
  • b67a14bd13 chore(release): 0.34.0 — Plex watch-state import (Phase A) peter 2026-07-09 14:43:22 +02:00
  • 795a8f3f5b Merge: Plex watch-state sync Phase A (Plex→Siftlode import) peter 2026-07-09 14:42:41 +02:00
  • 3485e1da90 feat(plex): Settings toggle for Plex watch-sync + one-click import peter 2026-07-09 14:42:32 +02:00
  • 457eff3a60 feat(plex): Phase A — one-time Plex→Siftlode watch-state import peter 2026-07-09 14:42:18 +02:00
  • 26ae20ec0c Merge: promote dev to prod peter 2026-07-09 09:46:14 +02:00
  • ccd5f21921 chore(release): 0.33.1 — channel page network-error fix peter 2026-07-09 09:43:08 +02:00
  • 8f6a8b4a15 Merge: YouTube client network-error handling (channel page 500 fix) peter 2026-07-09 09:42:21 +02:00
  • 8bbf35a5e4 fix(youtube): map httpx transport errors to YouTubeError peter 2026-07-09 09:24:09 +02:00
  • bb4e9f5e57 Merge: promote dev to prod peter 2026-07-09 02:37:31 +02:00
  • ad733c4422 chore(release): v0.33.0 peter 2026-07-09 02:32:46 +02:00
  • 7ef9f64798 merge: Plex search ephemeral state + empty-with-filters hint (dev-only) peter 2026-07-09 02:30:57 +02:00
  • d81c30d438 merge: Plex player copyts rework + full player UAT round (dev-only) peter 2026-07-09 02:30:44 +02:00
  • bbedaa51f0 fix(plex): keep play state honest across a seek that restarts the session peter 2026-07-09 02:20:04 +02:00
  • df3883134a fix(plex): seek tooltip tracks cursor under scale; tidy the tuning menu peter 2026-07-09 01:32:04 +02:00
  • 74a57a8615 feat(plex): player UAT round 2 — mouse-back, +25% UI, seek drag, volume revert peter 2026-07-09 01:12:10 +02:00
  • 39125ca5a8 fix(plex): Esc/Backspace actually cancels the auto-skip countdown peter 2026-07-09 00:37:13 +02:00
  • cc4089616a fix(plex): player UAT round — resume, back, subtitles, skip, ETA, volume peter 2026-07-08 23:48:09 +02:00
  • 420ec5e24f fix(plex): give the library search its own ephemeral state peter 2026-07-08 23:19:36 +02:00
  • 28f8f9ee51 fix(plex): explain an empty search when filters are also active peter 2026-07-08 23:19:23 +02:00
  • ea92892570 feat(plex): player polish — clock overlay, sub shadow, auto-skip, seekbar hover peter 2026-07-08 22:38:47 +02:00
  • ecd2b8eb97 feat(plex): multi-rendition audio (client-side switch) + reliable resume-on-F5 peter 2026-07-08 22:25:03 +02:00
  • 836706ba38 feat(plex): rework player timing (copyts) + player settings & personalization peter 2026-07-08 21:35:38 +02:00
  • 6bdc872c1c Merge: promote dev to prod peter 2026-07-07 22:58:09 +02:00
  • 1e9d58555a fix(share): let link-preview crawlers fetch /watch/ pages (robots.txt) peter 2026-07-07 22:56:38 +02:00
  • 0c761533e7 Merge: promote dev to prod peter 2026-07-07 22:44:45 +02:00
  • 61a721e55a fix(share): self-host og:image so link previews stay reliable peter 2026-07-07 22:43:18 +02:00
  • 977c09c43d chore(release): v0.32.0 peter 2026-07-07 22:29:05 +02:00
  • 8667161589 feat(downloads): clickable channels + poster fallback for thumbnail-less sources peter 2026-07-07 22:28:49 +02:00
  • 4963337b04 fix(ui): only close a modal when the backdrop click starts on the backdrop peter 2026-07-07 22:28:33 +02:00
  • 4fbabefb81 Merge: promote dev to prod peter 2026-07-07 21:43:10 +02:00