Commit Graph

  • fa7a09a420 feat(saved-views): scope saved views by module source (backend) peter 2026-08-22 18:56:52 +02:00
  • f983a491c0 feat(plex): add Playlist/Collection browse modes to the header pill peter 2026-08-22 18:19:08 +02:00
  • f85dc12819 feat(plex): move the Discover/Browse toggle into the header peter 2026-08-22 18:02:55 +02:00
  • 9798e506cf feat(plex): apply the sidebar filters to the Discover rails too peter 2026-08-22 17:35:37 +02:00
  • a60164edc4 feat(plex): make the Collection filter multi-select with Any/All peter 2026-08-22 08:18:25 +02:00
  • 6c7038cf1f feat(plex): make the playlists rail widget a compact combobox peter 2026-08-22 07:59:41 +02:00
  • f8e144a658 fix(combobox): stop a single chip wrapping the chevron to a second line peter 2026-08-22 07:56:05 +02:00
  • b4984dc38b feat(plex): move Watch-state out of the rail into a toolbar pill peter 2026-08-22 07:51:54 +02:00
  • 21c9b34540 feat(plex): port the filter bar to the YT-feed pattern peter 2026-08-22 07:23:20 +02:00
  • 041cd526b7 Merge: YT feed filter-bar overhaul + 3 deep-review rounds peter 2026-08-22 07:09:25 +02:00
  • 9477fea3dc docs(test): correct the feed-views fixture comment on topic tag distribution peter 2026-08-22 07:04:00 +02:00
  • e4b19b5320 fix(feed): round-2 deep-review remediations (incl. a real coerce-on-seed bug) peter 2026-08-22 06:55:16 +02:00
  • 7692253636 test(feed): cover the filter-bar gaps deep-review flagged peter 2026-08-22 06:33:48 +02:00
  • e90603d4db fix(feed): deep-review remediations for the filter-bar overhaul peter 2026-08-22 06:33:48 +02:00
  • dd76e9dcf7 feat(feed): move sort + view into the chip row with responsive overflow peter 2026-08-22 05:42:45 +02:00
  • fca989c098 feat(feed): flatten the filter rail — dropdown upload-date, non-collapsible widgets, title triggers peter 2026-08-22 05:42:30 +02:00
  • 7ebbf45921 feat(feed): saved views as a header popover + Personal Views modal + a view chip peter 2026-08-22 04:03:58 +02:00
  • 829cadf5fb feat(feed): per-category any/all tag match, in each combobox's popover footer peter 2026-08-22 03:48:23 +02:00
  • 8f08073564 feat(feed): move the Mine/Library scope toggle beside the header search box peter 2026-08-22 03:29:15 +02:00
  • af08a7850b feat(feed): guide a hidden-channel empty result to the Library peter 2026-08-22 03:25:49 +02:00
  • d2193ccd1b fix(combobox): merged input ref so the field is typeable by mouse peter 2026-08-22 03:22:03 +02:00
  • cda70164ba Merge: toolbar/header UI-consistency refactor + a11y fixes peter 2026-08-22 02:07:20 +02:00
  • 5e1cc4d981 fix(a11y,test): deep-review round 2 — e2e helper attr, trigger names, observer test peter 2026-08-22 01:06:22 +02:00
  • 4ee452b854 fix(a11y,layout): deep-review fixes — menu roles, sort aria-pressed, rem rail threshold peter 2026-08-21 22:41:57 +02:00
  • edbc9dede5 style(header): centre the search-box group over the page content peter 2026-08-21 22:08:23 +02:00
  • 53ca4e2849 feat(layout): a pinned filter rail no longer pushes content when there's room for it peter 2026-08-21 21:53:24 +02:00
  • 1801a58f6b feat(layout): centre the header on each page's content width, centre the playlist table peter 2026-08-21 21:38:49 +02:00
  • 011acd919e feat(toolbar): lead the Plex toolbar with ItemCount too, unify its gaps peter 2026-08-21 20:37:36 +02:00
  • 45d8b47366 feat(toolbar): fixed-width ItemCount pill, lead the toolbar with it, align chrome to the cards peter 2026-08-21 20:33:55 +02:00
  • c3820a0b44 refactor(header): remove the ModuleName module-switcher pill peter 2026-08-21 19:58:19 +02:00
  • c7b393901f style(type): correct the trigger text from 16px back to the view-switcher's real 14px peter 2026-08-21 19:53:14 +02:00
  • f1e14c94c5 style(viewswitcher): unify the ViewSwitcher trigger with the FilterSelect pill peter 2026-08-21 19:49:10 +02:00
  • ddb171fca3 style(type): raise the too-small toolbar and filter text toward the view-switcher size peter 2026-08-21 19:37:11 +02:00
  • ec3bbc78dc style(layout): tighten the oversized vertical gaps around the page toolbars peter 2026-08-21 19:13:38 +02:00
  • 1be1dc9d06 feat(sort): give SortControl the FilterSelect pill look with a footer direction segment peter 2026-08-21 18:11:45 +02:00
  • 6109e0c6f1 feat(feed): convert the Source filter to the FilterSelect dropdown peter 2026-08-21 17:36:33 +02:00
  • 5851ddd329 feat(feed): compress the toolbar chip groups into labeled FilterSelect dropdowns peter 2026-08-21 17:28:57 +02:00
  • ad0cf5827b feat(feed): use the Combobox picker for Channel/Your tags/Topic/Language filters peter 2026-08-21 17:01:41 +02:00
  • f6192aa6bf fix(feed): re-measure header on feed↔channel Back so --hdr-h can't stick at 8px peter 2026-08-21 16:51:05 +02:00
  • 6b4febcc95 release: 0.71.0 (improvement/e5-s1-plex-platform) v0.71.0 peter 2026-08-21 08:26:31 +02:00
  • cb5ac09a80 chore(e5): bump to 0.71.0 + release notes for the Plex Experience epic peter 2026-08-21 08:21:21 +02:00
  • bad2aae753 fix(e5): deep-review round — combobox Enter, parse_person collision, enrich hardening + coverage peter 2026-08-21 08:11:18 +02:00
  • 8f6714e678 refactor(e5): deferred review-tail (frontend) — Carousel reuse + shared scroll core peter 2026-08-21 06:16:15 +02:00
  • 13fb2b4e61 refactor(e5): deferred review-tail (backend) — enrich off request path, reuse, tests peter 2026-08-21 06:09:17 +02:00
  • 5316f48af2 feat(e5): first-class combobox platform mode + universal Combobox (A11Y-1) peter 2026-08-21 05:43:36 +02:00
  • 0c746f5bcd fix(e5): deep-review survivors — TMDB key log leak, person-enrich rollback + timeout peter 2026-08-21 04:42:07 +02:00
  • caced8664c fix(e5): stop the filter dropdown flashing at the origin before it positions peter 2026-08-21 04:00:54 +02:00
  • 29f2c9059e fix(e5): rebuild the filter combi-input on floating-ui primitives (focus, dismiss, z-order) peter 2026-08-21 03:37:14 +02:00
  • b83248c510 fix(e5): Plex detail/UI polish from review (backdrop reset, layout, combobox, labels) peter 2026-08-21 03:16:40 +02:00
  • 2b5de89eda fix(e5): address code-review findings (TMDB guid media_type, search ingest guard, discover keying) peter 2026-08-21 03:16:24 +02:00
  • ff45db70ae fix: live YouTube search 500 on the scrape source (published_at NOT NULL) peter 2026-08-21 02:15:09 +02:00
  • 7d40a8780d E5 S8: crossfading art backdrop (detail + person pages) peter 2026-08-21 01:00:11 +02:00
  • d56a791c04 E5 S7: Plex filter UI — listbox-select pickers + studio filter peter 2026-08-21 00:40:31 +02:00
  • 187b8007f8 E5 S6: enriched person page (TMDB bio + birth facts + Known-for rail) peter 2026-08-21 00:08:19 +02:00
  • f10915c223 E5 S5: enriched Plex detail page (ratings + facts + keywords + crew) peter 2026-08-20 23:50:50 +02:00
  • f9b63745f9 E5 S4: Plex Discover rail-surface (default landing) peter 2026-08-20 22:15:54 +02:00
  • 5b5e76b73d E5 S3: unified Plex card — scrim-reveal hover + rest polish peter 2026-08-20 20:30:30 +02:00
  • 91be3d0535 E5 S2: prioritise TMDB crew, and capture the TV showrunner peter 2026-08-20 09:24:25 +02:00
  • 3bde114b14 E5 S2: TMDB enrichment engine (Plex catalog) peter 2026-08-20 09:17:43 +02:00
  • fca3fa13ef E5 S1: shared Carousel primitive + Plex card-art serializer peter 2026-08-20 08:50:47 +02:00
  • df60bc5ff5 merge: E4 test-coverage backfill (deferred deep-review gaps + 2 review rounds) peter 2026-08-20 05:56:16 +02:00
  • 99d63d272e test(e4): lock accessible names on the Plex card buttons peter 2026-08-20 05:52:36 +02:00
  • 482dd28006 fix(e4): address code-review findings (a11y sweep + dedup guards) peter 2026-08-20 05:40:59 +02:00
  • 0b7180ce8f a11y(e4): aria-label on the icon-only Plex watched-toggle buttons peter 2026-08-20 05:25:48 +02:00
  • d2f2085f1f test(e4): readSelectedId ?pl guard, useUrlMirror dep-keying, usePref flush peter 2026-08-20 05:24:11 +02:00
  • 062015ba27 test(e4): loadInitialPage precedence + channelViewFrom (S1 fix) peter 2026-08-20 05:21:13 +02:00
  • 0401dae689 test(e4): extract PLEX_SUB_URL for round-trip coverage peter 2026-08-20 05:16:06 +02:00
  • e8a1c252a9 test(e4): useHistorySubview seed + popstate URL-fallback (S2 fix) peter 2026-08-20 05:14:12 +02:00
  • fa8bdf83a8 test(e4): Modal focus-trap coverage (FE-9 deferred gap) peter 2026-08-20 05:12:33 +02:00
  • 868ff533ee style(e4): prettier-format two S6-touched files to unblock the 0.70.0 gate peter 2026-08-20 03:52:11 +02:00
  • 00bf9a39f7 release: 0.70.0 (improvement/e4-frontend-platform) v0.70.0 peter 2026-08-20 03:50:02 +02:00
  • 640a8efeed chore(release): 0.70.0 — E4 Frontend Platform (bookmarkable URLs + touch a11y) peter 2026-08-20 03:49:07 +02:00
  • 23ac884b42 fix(e4): address deep-review findings — bookmark popstate, focus trap, touch a11y peter 2026-08-20 03:26:19 +02:00
  • 1579a81395 fix(e4): address code-review findings — usePref flush, ?pl guard, dedup (E4 review) peter 2026-08-20 02:13:49 +02:00
  • 4fe6f38f1b refactor(rail): extract shared FilterRail shell + name the MediaSource seam (E4 S7) peter 2026-08-20 00:47:09 +02:00
  • 94a608053a feat(a11y): touch-visible card controls + modal focus trap/restore (E4 S6) peter 2026-08-19 21:35:52 +02:00
  • aea99cc71a refactor(downloads): split DownloadCenter god-file into row + modals + admin (E4 S5) peter 2026-08-19 21:14:49 +02:00
  • 180ab56379 refactor(plex): split PlexBrowse god-file into cards + views + shared UI (E4 S4) peter 2026-08-19 06:10:48 +02:00
  • 0b592345e6 fix(player): remove the leaked window "blur" listener in useNativeControlsYield peter 2026-08-19 05:56:20 +02:00
  • 4800df4208 refactor(player): split PlayerModal god-component into hooks + controls (E4 S3) peter 2026-08-19 05:41:52 +02:00
  • 8bfc01684f feat(nav): full bookmarkable URL model — retire minimalist-URL + Share-view (E4 S2) peter 2026-08-19 04:47:36 +02:00
  • 48aa1a25f5 feat(prefs): usePref — one per-account+server preference hook (E4 S1) peter 2026-08-19 03:07:25 +02:00
  • c82cf25bcf release: 0.69.2 (bug/download-poster-account-scope) v0.69.2 peter 2026-08-19 02:00:44 +02:00
  • 634e9bb17c chore(release): 0.69.2 — fix multi-account Library thumbnails peter 2026-08-19 02:00:24 +02:00
  • ce2954cf2b fix(downloads): carry the active account on the Library poster URL peter 2026-08-19 02:00:24 +02:00
  • 2229b01a91 release: 0.69.1 (bug/feed-scroll-thumbnails-about) v0.69.1 peter 2026-08-19 01:42:54 +02:00
  • b17b47f54e chore(release): 0.69.1 — feed read-ahead, download thumbnails, About popover peter 2026-08-19 01:42:35 +02:00
  • 1e2b3c5d29 docs(sync): scope normalize_description to channels + lock line-ending behavior peter 2026-08-19 01:32:26 +02:00
  • d065902404 refactor(feed): cap the read-ahead lookahead and extract it to a tested helper peter 2026-08-19 01:32:26 +02:00
  • a300977ed4 fix(feed): read further ahead so fast scrolling doesn't stall at "Load more" peter 2026-08-19 01:13:57 +02:00
  • ddb7818d38 fix(sync): strip blank lines from channel descriptions before storing peter 2026-08-19 01:13:56 +02:00
  • 48787af11c fix(channels): keep the About popover on-screen at high browser zoom peter 2026-08-19 01:13:40 +02:00
  • b733ee84fa fix(downloads): use the local poster as the Library thumbnail primary peter 2026-08-19 01:13:40 +02:00
  • 96413c3d5e release: 0.69.0 (improvement/e3-s1-plex-split) v0.69.0 peter 2026-08-19 00:14:03 +02:00
  • d9677e0e3a chore(release): 0.69.0 — E3 backend architecture consolidation peter 2026-08-19 00:13:00 +02:00
  • 2b804300d5 fix(scheduler): address /code-review R3 findings on the maintenance handler (3) peter 2026-08-18 23:54:32 +02:00
  • 3f047bbad1 refactor(config): config/state mutators flush, callers commit (E3 S3, B-core-10) peter 2026-08-18 23:46:48 +02:00
  • 8a97c79d37 refactor(config): fold maintenance_revalidate_batch from app_state into sysconfig (E3 S3, B-core-11) peter 2026-08-18 23:40:45 +02:00
  • d37b6ef07f refactor(routes): delete 5 dead endpoints the frontend never calls (E3 S3, B-core-8) peter 2026-08-18 23:32:49 +02:00
  • 88c5d5c5cb docs: refresh 7 stale module headers that describe shipped work as "later phase" (E3 S3, B-core-12) peter 2026-08-18 23:28:25 +02:00