-
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