Commit Graph

  • 83e673718f feat(playlists): hybrid table over the drag list, and guard its destructive paths peter 2026-07-20 23:30:14 +02:00
  • 89000538d4 refactor(table): extract the column header out of DataTable peter 2026-07-20 23:18:46 +02:00
  • ca9fd2a5ce Merge: promote dev to prod peter 2026-07-20 22:33:37 +02:00
  • 742cf2df73 release: 0.47.0 — relative timestamps fixed, and localized by the platform peter 2026-07-20 22:31:30 +02:00
  • 72bd1d9e9d Merge: relative time localized by Intl.RelativeTimeFormat peter 2026-07-20 22:30:40 +02:00
  • 93b793dea2 Merge: relative-time tier shift fix + the first unit tests peter 2026-07-20 22:30:40 +02:00
  • 7cd5adc78f refactor(format): localize relative time with Intl.RelativeTimeFormat peter 2026-07-20 22:28:09 +02:00
  • dea63d8fd2 refactor(format): hoist the relative-time tiers and lock their invariants peter 2026-07-20 22:17:51 +02:00
  • da728f0c5e test(format): cover the relative-time tier boundaries peter 2026-07-20 03:06:50 +02:00
  • c61bc4ff74 fix(format): relative time labelled every tier one unit too small peter 2026-07-20 03:06:42 +02:00
  • 8501509acb Merge: promote dev to prod peter 2026-07-20 01:32:45 +02:00
  • 758e655642 release: 0.46.0 — channel manager overhaul (table/cards, About, shared sort, paging) peter 2026-07-20 01:31:15 +02:00
  • 5210e9c6fe Merge: E4 managers overhaul — bottom pager, About column, table/cards layouts (S1–S3) peter 2026-07-20 01:29:53 +02:00
  • 307ab96d84 fix(managers): two-way menu flip + extract useCardPager peter 2026-07-20 01:24:31 +02:00
  • ab5f3c9fbb fix(managers): address the E4 S3 code-review round 3 findings peter 2026-07-20 01:10:13 +02:00
  • c630d29ff6 fix(managers): address the E4 S3 code-review round 2 findings peter 2026-07-20 00:56:47 +02:00
  • 260de48f41 fix(managers): the tag picker drew under the next card peter 2026-07-20 00:42:33 +02:00
  • be9d17ebb1 fix(managers): address the E4 S3 code-review findings peter 2026-07-20 00:34:38 +02:00
  • a50608d026 feat(managers): actions-first discovery table, tabs in the back chain, pager scrolls to top peter 2026-07-20 00:14:23 +02:00
  • dff4152522 feat(managers): paginate the card layout + its top scroll-fade peter 2026-07-19 23:28:43 +02:00
  • 9c4dd0163a feat(managers): shared sort across the table and card layouts peter 2026-07-19 23:09:54 +02:00
  • 875c7ad741 feat(managers): richer channel cards + drop the rows layout, cap the channel column peter 2026-07-19 22:42:09 +02:00
  • b659ad800c fix(managers): key the row-layout primary cell + measured rowEst peter 2026-07-19 21:59:28 +02:00
  • 1703d4ab5e feat(managers): table / cards / rows layouts for the channel manager (E4 S3) peter 2026-07-19 21:52:16 +02:00
  • 5ea82095a1 refactor(feed): extract virtualization engine into a generic VirtualGrid<T> peter 2026-07-19 21:36:54 +02:00
  • 1fdc01c0cd feat: linkify resolves '<platform>: @handle' social mentions peter 2026-07-19 21:05:00 +02:00
  • 36641b5bc0 feat: linkify also catches www.* and bare domain.tld/path URLs peter 2026-07-19 20:51:29 +02:00
  • b741a8fd28 feat(managers): clickable links in descriptions + real SVG country flags peter 2026-07-19 20:42:28 +02:00
  • 8abb78b0bd refactor(managers): full About overlay + center the wider channel content (E4 S2 follow-up) peter 2026-07-19 20:25:06 +02:00
  • 9db1d3fba3 feat(managers): About column with hover overlay on both channel tables (E4 S2) peter 2026-07-19 19:35:07 +02:00
  • 669dc3f2a6 refactor(managers): tidy channel header + column filters + move Actions (E4) peter 2026-07-19 18:24:25 +02:00
  • 83b60df112 feat(managers): bottom pager on the channel tables (E4 S1) peter 2026-07-19 15:45:09 +02:00
  • 9f26ab3c80 Merge: promote dev to prod peter 2026-07-19 06:09:30 +02:00
  • 97611be9c4 release: 0.45.1 — player & share fixes peter 2026-07-19 06:08:06 +02:00
  • 870cf7e52d Merge: player & share polish (bugs 5, 8, 9) peter 2026-07-19 06:07:05 +02:00
  • f8826b846b fix(plex): fill the screen in native fullscreen peter 2026-07-19 05:38:42 +02:00
  • 42ae451c1b fix(share): robust clipboard copy with an iOS-safe fallback peter 2026-07-19 05:38:42 +02:00
  • 31a8835f7f fix(player): revert the YouTube modal to its smaller base size peter 2026-07-19 05:38:42 +02:00
  • 29b8dd4629 Merge: promote dev to prod peter 2026-07-19 04:59:36 +02:00
  • 86a6d696b8 release: 0.45.0 — feed view modes + Plex cast-explore peter 2026-07-19 04:58:36 +02:00
  • 901c952739 Merge: Plex cast-explore — full-cast filtering, AND/OR, person cards, backfill peter 2026-07-19 04:51:35 +02:00
  • af6faf476f feat(plex): full-library cast backfill via a batched rich re-sync (S1b) peter 2026-07-19 04:50:45 +02:00
  • 12d17ec7b0 polish(plex): match the feed rail's segmented-pill look for the any/all toggle peter 2026-07-19 04:31:02 +02:00
  • d91f27a22e fix(plex): NULL-safe orphan-people prune (review) peter 2026-07-19 03:53:03 +02:00
  • 33c60965d9 feat(plex): prune orphaned people after each sync (S4) peter 2026-07-19 03:50:00 +02:00
  • 05105197e9 feat(plex): person cards in the grid for the filtered actors (S3) peter 2026-07-19 03:46:31 +02:00
  • 6f28ce36a7 feat(plex): actor filter AND/OR toggle (default OR) (S2) peter 2026-07-19 03:37:57 +02:00
  • 0030f32a5d feat(plex): lazy-enrich the full cast on info-page view (S1a) peter 2026-07-19 03:31:34 +02:00
  • d462834ed7 Merge Platform S6b.3: module registry drives the render (epic DoD) peter 2026-07-19 02:45:26 +02:00
  • a42e0a9e3e feat(app): the module registry drives the render (S6b DoD) peter 2026-07-19 01:25:32 +02:00
  • fd1742e783 refactor(prefs): move Settings auto-save machinery into PrefsProvider peter 2026-07-19 01:09:20 +02:00
  • 36e4419c98 refactor(feed-view): move the feed view mode into FeedViewProvider peter 2026-07-19 01:00:05 +02:00
  • dd921e3209 refactor(wizard): move onboarding wizard state into WizardProvider peter 2026-07-19 00:55:34 +02:00
  • 8434aac78d Merge Platform S6b.1+S6b.2: module registry + scoped state providers peter 2026-07-19 00:46:07 +02:00
  • d33a838462 docs(modules): note the registry is the checklist for new pages peter 2026-07-19 00:16:17 +02:00
  • a303f307cd refactor(channels): scope module state in ChannelsProvider peter 2026-07-19 00:08:34 +02:00
  • 6c32e5c8d6 refactor(plex): scope module state in PlexProvider peter 2026-07-18 23:53:10 +02:00
  • d0fc061795 refactor(playlists): scope module state in PlaylistsProvider peter 2026-07-18 23:43:19 +02:00
  • f4a68575c5 refactor(modules): consolidate nav into a module registry peter 2026-07-18 23:25:39 +02:00
  • 1d84828cd0 Merge Platform S6a: z-index token scale + overlay-root convention peter 2026-07-18 19:29:01 +02:00
  • 6075e96bd0 refactor(overlay): single overlay-root convention via Overlay helper peter 2026-07-18 19:11:38 +02:00
  • c91caffa5e refactor(z-index): name the stacking layers as a token scale peter 2026-07-18 19:11:25 +02:00
  • 7039abc4d3 Merge Platform S5: scope feed filters + inherit channel content prefs peter 2026-07-18 18:44:44 +02:00
  • a3ce37cdc2 docs(filters): correct the split-context comment peter 2026-07-18 18:30:18 +02:00
  • 7d7e2c6146 test(e2e): lock the channel content-filter inherit + no-leak (bug 2) peter 2026-07-18 18:27:17 +02:00
  • ae7d893a3e fix(channel): inherit content-type filters instead of forcing Live/Upcoming peter 2026-07-18 18:27:17 +02:00
  • da143fd70d feat(filters): scope global feed filters in FeedFiltersProvider peter 2026-07-18 18:27:04 +02:00
  • 54a4b1b8aa Merge Platform S4 + S4b: PageShell contract + fixed-chrome sweep peter 2026-07-18 06:40:36 +02:00
  • a2e371a558 feat(admin): fix the tab bar on Users + Configuration pages peter 2026-07-18 06:21:49 +02:00
  • 685c7b4c0b feat(shell): fix headers on Notifications, Downloads, Discovery peter 2026-07-18 06:16:16 +02:00
  • ed3990a9af feat(plex): fix the title-count row, scroll only the poster grid peter 2026-07-18 06:07:29 +02:00
  • 0c3ca72545 feat(playlists): fix the playlist header, scroll only the list peter 2026-07-18 06:03:32 +02:00
  • e9135a0183 polish(datatable): fade rows under the sticky header, not the header itself peter 2026-07-18 05:51:11 +02:00
  • af915883f9 fix(datatable): the sticky header no longer shifts or fades on first scroll peter 2026-07-18 05:43:19 +02:00
  • 867daa0dcf feat(channels): pager into the chip row, Blocked as its own tab peter 2026-07-18 05:34:07 +02:00
  • dcadbe346d feat(channels): fix the manager header, scroll only the table rows peter 2026-07-18 05:15:01 +02:00
  • 7df9bc0035 feat(datatable): sticky table header row peter 2026-07-18 05:11:10 +02:00
  • 02bd0d433b polish(channel): tighten toolbar-to-grid gap + restore top scroll fade peter 2026-07-18 05:01:31 +02:00
  • ec807c8b31 feat(shell): channel chrome is fully fixed, only the grid scrolls peter 2026-07-18 04:53:49 +02:00
  • 0e03e561eb feat(shell): sticky tabs+toolbar on the channel page peter 2026-07-18 04:45:11 +02:00
  • 10f4baab3b fix(shell): scroll restore on Back + reset on new filter (bugs 1, 3) peter 2026-07-18 03:51:40 +02:00
  • a6cbc45334 fix(feed): pin the feed toolbar in the shell's fixed band (bug 4) peter 2026-07-18 03:25:48 +02:00
  • d81f10b1cf refactor(shell): channel page is a PageShell config, not a 2nd scroller peter 2026-07-18 03:19:34 +02:00
  • dc6e62e822 refactor(shell): introduce PageShell for the normal-page chrome peter 2026-07-18 03:15:41 +02:00
  • 91691c150d Merge: E2E account is admin + nav spec covers the admin pages peter 2026-07-18 02:54:02 +02:00
  • 833aee07d4 test(e2e): make the seeded account admin + cover admin nav pages peter 2026-07-18 02:52:54 +02:00
  • c5a7296306 Merge fix: wrap audit-log details so rows stay inside the card peter 2026-07-18 02:49:13 +02:00
  • 7e88b0af0c fix(audit): wrap long audit details instead of truncating peter 2026-07-18 02:43:17 +02:00
  • b463e4852a Merge Platform S3: lift navigation+history into NavigationProvider peter 2026-07-18 02:35:55 +02:00
  • 7819c2e3a0 docs(nav): note the render-time ref is the intentional latest-value pattern peter 2026-07-18 02:24:19 +02:00
  • a1bdfece6d refactor(nav): read navigation from context, drop the prop-drilling peter 2026-07-18 02:19:52 +02:00
  • 41bb1b2ab3 refactor(nav): lift navigation + history into NavigationProvider peter 2026-07-18 02:06:07 +02:00
  • cabc759a31 Merge Platform S2: Settings auto-save (drop draft + leave-guard) peter 2026-07-18 01:44:35 +02:00
  • c855924fdc feat(settings): auto-save preferences instead of draft + Save peter 2026-07-18 01:44:25 +02:00
  • 49739da925 Merge Platform S1: E2E characterization safety net peter 2026-07-18 00:36:12 +02:00
  • e7091158fd test(e2e): golden-master Playwright net for the Platform refactor peter 2026-07-18 00:35:57 +02:00
  • bc5f95f807 Merge E3: feed view modes + scroll-affordance sweep peter 2026-07-17 21:58:43 +02:00
  • 65ab33d632 fix(player): portal the YouTube player modal out of the page scroller peter 2026-07-17 21:43:37 +02:00
  • 9b4ee83ec8 fix(plex): portal the full-screen player out of the page scroller peter 2026-07-17 03:30:55 +02:00
  • 0ed58e3cb1 improvement(scroll): fade every capped list's clipped edges peter 2026-07-17 03:14:48 +02:00