-
9f9d2544ef
fix(web): only announce a state change after the server confirms it
peter
2026-06-18 23:27:59 +02:00
-
-
0ab6742b44
Merge improvement/connection-lost-self-resolving: honour the 'clears once it's back' promise
peter
2026-06-18 23:17:33 +02:00
-
-
1278d079e2
fix(web): make the 'connection lost' notice self-resolving
peter
2026-06-18 23:17:32 +02:00
-
-
657cdfa507
Merge: promote dev to prod
peter
2026-06-18 17:56:49 +02:00
-
-
4f7aac7b92
Merge bug/proxy-keepalive-502-retry: stop player POSTs surfacing proxy keepalive 502s
peter
2026-06-18 15:13:09 +02:00
-
-
6bed9a1427
fix(web): retry idempotent calls on gateway 502/503/504, soften the rest
peter
2026-06-18 15:13:01 +02:00
-
02a6e5ff94
fix(api): raise uvicorn keepalive above the proxy reuse window
peter
2026-06-18 15:13:01 +02:00
-
-
a1fd6fce91
Merge: promote dev to prod
peter
2026-06-18 04:39:29 +02:00
-
-
d5e4f5353e
docs(release): reflect unified notification center in v0.9.0 notes
peter
2026-06-18 04:37:51 +02:00
-
310e9b63b6
Merge feature/followups-batch-and-bell-unify: maintenance batch knob + unified notification inbox
peter
2026-06-18 04:37:27 +02:00
-
-
d3c6ce659c
feat(notifications): unify the two rail indicators into one inbox
peter
2026-06-18 04:37:20 +02:00
-
dd83718304
feat(scheduler): admin-tunable maintenance re-validation batch size
peter
2026-06-18 04:37:08 +02:00
-
-
264a3c74af
docs(release): note admin scheduler run-now + live progress under v0.9.0
peter
2026-06-18 04:02:11 +02:00
-
89be480706
Merge feature/scheduler-run-now: run-now/run-all triggers, live progress, completion notices, nav badge fix
peter
2026-06-18 04:01:38 +02:00
-
-
00d07b9153
fix(nav): numeric inbox badge with active-state contrast
peter
2026-06-18 04:01:19 +02:00
-
ed4194a8d3
feat(scheduler): admin run-now/run-all triggers + live progress + completion notices
peter
2026-06-18 04:01:10 +02:00
-
-
3a0789ebe7
chore(release): v0.9.0 — notification inbox + automatic video maintenance
peter
2026-06-18 03:22:22 +02:00
-
46fc56371f
Merge feature/maintenance-and-inbox: validation job + notification inbox (P1)
peter
2026-06-18 03:20:35 +02:00
-
-
c4aecf9f77
feat(maintenance): scheduled job to retire unplayable videos
peter
2026-06-18 03:20:28 +02:00
-
b9a3a9012d
feat(notifications): durable per-user inbox (P1) + maintenance schema
peter
2026-06-18 03:20:17 +02:00
-
-
19eb0242f8
Merge: promote dev to prod
peter
2026-06-18 01:19:23 +02:00
-
-
a11a8db278
chore(release): v0.8.0 — channel columns, tag workflow, video reset, error dialog
peter
2026-06-18 01:18:41 +02:00
-
e85d30a3f3
Merge improvement/tags-ux: tag UX overhaul, user-tags feed widget, video reset, global error dialog
peter
2026-06-18 01:17:38 +02:00
-
-
1e530d23a6
feat(tags): tag UX overhaul + per-card video reset
peter
2026-06-18 01:17:31 +02:00
-
b55a944e7c
fix(ux): modal error dialog for server-refused actions + ESC closes only the topmost
peter
2026-06-18 01:17:31 +02:00
-
-
edd8c85132
Merge improvement/channel-aggregates: aggregate columns, attached-only tags, auto-width DataTable
peter
2026-06-17 23:24:31 +02:00
-
-
0aa16543d9
feat(channels): aggregate columns + smarter tag display
peter
2026-06-17 23:24:25 +02:00
-
14da25bf19
feat(ui): content-driven column widths in DataTable
peter
2026-06-17 23:24:25 +02:00
-
-
0edd7af45d
Merge: promote dev to prod
peter
2026-06-17 19:18:19 +02:00
-
-
a7d087c6d3
chore(release): v0.7.0 — data-table channel manager, sidebar reorg, fixes
peter
2026-06-17 19:17:35 +02:00
-
a007a31bbf
Merge improvement/channel-manager-1: data-table channel manager + reusable DataTable + admin reset
peter
2026-06-17 19:16:30 +02:00
-
-
5610dba5eb
feat(channels): data-table channel manager
peter
2026-06-17 19:16:23 +02:00
-
0210b84166
feat(channels): admin reset / re-backfill endpoint
peter
2026-06-17 19:16:23 +02:00
-
9872a0115c
feat(ui): reusable DataTable component
peter
2026-06-17 19:16:23 +02:00
-
-
4759103f26
Merge bug/settings-tab-persist: keep the selected Settings tab on reload
peter
2026-06-17 14:30:56 +02:00
-
-
3d6e278dd8
fix(settings): persist the active tab across reloads
peter
2026-06-17 14:30:56 +02:00
-
-
9a9d700cf3
Merge improvement/sidebar-chrome-reorg: grouped rail + chrome controls in sidebar + toast relocation
peter
2026-06-17 14:28:39 +02:00
-
-
d94f41cb56
feat(toast): surface toasts bottom-left by the bell, brighter dark rim
peter
2026-06-17 14:28:29 +02:00
-
7a5f52a89b
feat(nav): group rail modules + move chrome controls into the sidebar
peter
2026-06-17 14:28:29 +02:00
-
-
970ef352ec
Merge improvement/quick-wins-1: channel YT links + badge checks, playlist input on top, stats bars
peter
2026-06-17 13:55:49 +02:00
-
-
e0590c2b6c
fix(stats): keep daily usage bars always visible
peter
2026-06-17 13:55:43 +02:00
-
b96fe0caba
feat(playlists): move the new-playlist input to the top of the rail
peter
2026-06-17 13:55:43 +02:00
-
ccf044ac2c
feat(channels): YouTube link on channel name + done checkmarks
peter
2026-06-17 13:55:43 +02:00
-
-
fa4b4ac556
Merge bug/watched-state-500-race: fix watched not persisting at end-of-playback
peter
2026-06-17 13:38:55 +02:00
-
-
a09e0dda0c
fix(player): persist watched at end-of-playback (atomic upsert)
peter
2026-06-17 13:38:47 +02:00
-
-
c2bf5b025c
Merge: promote dev to prod
peter
2026-06-16 17:46:15 +02:00
-
-
79249104d4
chore(release): v0.6.0 — admin Background Scheduler dashboard
peter
2026-06-16 17:46:15 +02:00
-
25dca48964
Merge feature/scheduler-controls: job tooltips, status legend, editable intervals
peter
2026-06-16 15:58:30 +02:00
-
-
2a02fb353e
feat(scheduler): per-job help tooltips, status legend, inline interval edit
peter
2026-06-16 15:58:23 +02:00
-
84aebe16c7
feat(scheduler): admin-editable job intervals (DB-backed, live reschedule)
peter
2026-06-16 15:58:23 +02:00
-
-
b71d07c098
chore(dev): self-contained local dev stack (own Postgres + scheduler)
peter
2026-06-16 15:21:43 +02:00
-
c011972efb
Merge feature/scheduler-dashboard: live admin scheduler dashboard + reusable poll hook
peter
2026-06-16 14:38:58 +02:00
-
-
73b06b1fb6
feat(scheduler): live admin Scheduler dashboard + reusable poll hook (HU/EN/DE)
peter
2026-06-16 14:38:51 +02:00
-
a339a73bd6
feat(scheduler): admin dashboard endpoint + per-job activity tracking
peter
2026-06-16 14:38:51 +02:00
-
-
1b2e0741c6
Merge: promote dev to prod
peter
2026-06-16 12:02:38 +02:00
-
-
e6c53b3f96
chore(release): v0.5.1 — graceful fallback for non-embeddable videos
peter
2026-06-16 12:02:38 +02:00
-
de4d657d42
fix(player): make the unavailable overlay fully opaque
peter
2026-06-16 11:58:57 +02:00
-
715eeffff8
Merge fix/player-error-handling: graceful 'Open on YouTube' fallback for non-embeddable videos
peter
2026-06-16 10:45:57 +02:00
-
-
c2d9e7b5a9
fix(player): friendly fallback when a video can't be embedded
peter
2026-06-16 10:45:57 +02:00
-
-
659fb5b228
Merge: promote dev to prod
peter
2026-06-16 10:23:30 +02:00
-
-
a76bbb5825
chore(release): v0.5.0 — demo account, clearer live videos
peter
2026-06-16 10:23:29 +02:00
-
831dee52bc
Merge: promote dev to prod
peter
2026-06-16 10:19:05 +02:00
-
-
e12e664579
Merge improvement/demo-banner: permanent demo banner instead of toast
peter
2026-06-16 10:12:10 +02:00
-
-
848fdd386f
improvement(demo): permanent banner instead of a re-popping toast
peter
2026-06-16 10:12:10 +02:00
-
-
e81a494436
Merge fix/live-reenrich: re-enrich transient live videos until they settle
peter
2026-06-16 10:06:58 +02:00
-
-
b114dae39b
fix(sync): re-enrich live videos so ended streams gain duration
peter
2026-06-16 10:06:58 +02:00
-
-
ddaa95f2a6
Merge improvement/live-duration-badge: LIVE/upcoming badge instead of blank duration
peter
2026-06-16 09:36:51 +02:00
-
-
d42a038a3f
feat(card): show LIVE/upcoming badge where duration is absent
peter
2026-06-16 09:36:51 +02:00
-
-
15811b8b43
Merge improvement/demo-ux: graceful demo handling of unavailable YouTube actions
peter
2026-06-16 09:27:34 +02:00
-
-
484c6364e6
fix(demo): graceful UX when YouTube actions are unavailable
peter
2026-06-16 09:27:34 +02:00
-
-
5b6d898d31
Merge feature/demo-account: shared demo account (whitelist login, gating, admin reset)
peter
2026-06-16 09:17:53 +02:00
-
-
6405350104
feat(demo): login trigger, feature gating + admin UI (HU/EN/DE)
peter
2026-06-16 09:17:34 +02:00
-
e0c63c26d4
feat(demo): admin demo whitelist CRUD + state reset
peter
2026-06-16 09:17:27 +02:00
-
5936436d26
feat(demo): hidden /auth/demo login + require_human guard
peter
2026-06-16 09:17:21 +02:00
-
9cac2cd335
feat(demo): demo-account schema + reusable rate limiter
peter
2026-06-16 09:17:14 +02:00
-
-
6d2042d8ae
Merge: promote dev to prod
peter
2026-06-16 03:18:58 +02:00
-
-
af84cc0404
chore(release): v0.4.1 — feed toolbar + clearer counts/dates
peter
2026-06-16 03:18:58 +02:00
-
5a2928b810
feat(player): exact upload date inline in the player meta too
peter
2026-06-16 03:09:28 +02:00
-
71d7440a8b
feat(card): show the exact upload date inline after the relative time
peter
2026-06-16 03:04:50 +02:00
-
48e7f8d11e
feat(card): exact view count on hover (disambiguate 9B vs 98)
peter
2026-06-16 02:57:53 +02:00
-
ab439f9717
Merge improvement/feed-toolbar-show-sort: Show chips + key/direction sort
peter
2026-06-16 02:46:26 +02:00
-
-
4921a95d09
feat(feed): Show chips in the toolbar + key+direction sort
peter
2026-06-16 02:46:26 +02:00
-
-
a44bdf7fdc
Merge feature/1d-feed-toolbar: content-type chips + sort above the feed
peter
2026-06-16 02:34:13 +02:00
-
-
d96b47ae5d
feat(feed): 1D — content-type chips + sort in a toolbar above the cards
peter
2026-06-16 02:34:13 +02:00
-
-
079c8182b4
Merge: promote dev to prod
peter
2026-06-16 02:16:33 +02:00
-
-
f6efe44e37
chore(release): v0.4.0 — navigation overhaul, glass, account switch
peter
2026-06-16 02:16:21 +02:00
-
15716dd578
fix(auth): always seed the active account into the switch list
peter
2026-06-16 02:12:59 +02:00
-
2d8c47b04e
Merge feature/n3-multi-session: account switch without re-auth (Epic N, N3)
peter
2026-06-16 02:05:38 +02:00
-
-
583e003c23
feat(auth): N3 — server-side multi-session account switch
peter
2026-06-16 02:05:38 +02:00
-
-
8c076f7a75
feat(ui): brighten dark-mode glass so the frost is visible over dark UI
peter
2026-06-16 01:57:41 +02:00
-
ed2d76f92d
fix(nav): remove backdrop div so the account popover frosts
peter
2026-06-16 01:54:01 +02:00
-
a18924bf97
fix(nav): restore frosted glass on the portaled account popover
peter
2026-06-16 01:50:01 +02:00
-
5bb85b039a
fix(nav): portal account popover to body (stacking + click-through)
peter
2026-06-16 01:46:32 +02:00
-
74491991d7
fix(ui): opaque .glass-menu for floating popovers (readability)
peter
2026-06-16 01:39:56 +02:00
-
0adc1104a3
fix(ui): restore glass opacity in dark mode (account popover readability)
peter
2026-06-16 01:34:25 +02:00
-
7b2d4dfb78
Merge feature/n2-back-history: in-app Back/Forward navigation (Epic N, N2)
peter
2026-06-16 01:27:49 +02:00
-
-
250c1da214
feat(nav): N2 — browser Back navigates in-app, not to OAuth
peter
2026-06-16 01:27:49 +02:00
-
-
36c7a649ab
feat(ui): stronger ambient + more translucent glass in dark mode
peter
2026-06-16 01:20:40 +02:00
-
67e518f7ef
Merge feature/glassmorphism-phase1: frosted glass on nav, header, dialogs
peter
2026-06-16 01:11:50 +02:00
-
-
d46be00d47
feat(ui): glassmorphism phase 1 — frost the app chrome
peter
2026-06-16 01:11:50 +02:00
-