-
2dc374cc7b
feat(config): move youtube_api_key to DB (encrypted, admin-editable)
peter
2026-06-19 13:19:06 +02:00
-
-
c953642e30
Merge feature/config-db-4b (epic 4b)
peter
2026-06-19 13:07:55 +02:00
-
-
060dbcffb0
feat(config): render quota/backfill/shorts/batch groups on the Configuration page
peter
2026-06-19 13:07:55 +02:00
-
e6bcf5ba1e
feat(config): move operational params to DB (quota/backfill/shorts/batch)
peter
2026-06-19 13:07:45 +02:00
-
-
ff03b51352
Merge improvement/config-unified-savebar
peter
2026-06-19 12:40:23 +02:00
-
-
8198c7712e
refactor(config): one Save/Discard bar instead of per-field Save
peter
2026-06-19 12:40:23 +02:00
-
-
7d71c205b2
Merge feature/config-db-admin (epic 4a)
peter
2026-06-19 12:23:08 +02:00
-
-
a71257f33f
feat(config): admin Configuration page (registry-driven)
peter
2026-06-19 12:23:00 +02:00
-
48cb6a5dbd
feat(config): DB-backed system_config infrastructure + SMTP group
peter
2026-06-19 12:22:36 +02:00
-
-
24d626d05b
Merge feature/stats-quota-taxonomy
peter
2026-06-19 11:48:29 +02:00
-
-
17a0886d60
feat(stats): consolidate per-user sync status into the Stats page
peter
2026-06-19 11:48:20 +02:00
-
b23f805533
refactor(quota): canonical <entity>_<action> taxonomy for quota events
peter
2026-06-19 11:48:11 +02:00
-
-
1ce035ca9e
Merge feature/banner-refactor-discovery-polish
peter
2026-06-19 11:18:37 +02:00
-
-
94fc5c9806
feat(discovery): total-videos column + subscribe confirmation
peter
2026-06-19 11:18:28 +02:00
-
479574b726
refactor(banner): extract reusable Banner base for VersionBanner + DemoBanner
peter
2026-06-19 11:18:20 +02:00
-
-
4e990efab0
Merge: promote dev to prod
peter
2026-06-19 04:27:30 +02:00
-
-
a5de874dd3
Merge bug/youtube-error-status: YouTube failures as 422 not 502 (0.11.2)
peter
2026-06-19 04:27:22 +02:00
-
-
262ed06b3c
release: 0.11.2
peter
2026-06-19 04:27:22 +02:00
-
fa86e3d282
fix(api): surface YouTube action failures as 422, not 502
peter
2026-06-19 04:27:22 +02:00
-
-
139e0d067d
Merge: promote dev to prod
peter
2026-06-19 04:16:41 +02:00
-
-
0d5e2dc331
Merge bug/subscribe-already-exists: reconcile already-followed channel (0.11.1)
peter
2026-06-19 04:16:34 +02:00
-
-
403a5608df
release: 0.11.1
peter
2026-06-19 04:16:23 +02:00
-
9c7beec443
fix(channels): reconcile an already-followed channel instead of erroring
peter
2026-06-19 04:16:23 +02:00
-
-
022bab3518
Merge: promote dev to prod
peter
2026-06-19 04:02:45 +02:00
-
-
d254cf4353
release: 0.11.0
peter
2026-06-19 04:02:38 +02:00
-
b6404a5e55
Merge bug/channels-tab-focus: reliable channel-manager navigation (tab + stale filter)
peter
2026-06-19 03:57:44 +02:00
-
-
7aab0dd047
fix(channels): drop a stale column filter when sent to "without full history"
peter
2026-06-19 03:55:55 +02:00
-
1bedfca666
fix(channels): land on the subscriptions tab for channel-targeted navigation
peter
2026-06-19 03:38:57 +02:00
-
-
141dd32855
Merge improvement/ui-polish-dry: shared ChannelLink/channelYouTubeUrl + adaptive header poll
peter
2026-06-19 03:31:52 +02:00
-
-
258aa5cc84
perf(header): poll sync status faster while work is in flight
peter
2026-06-19 03:24:45 +02:00
-
5461cada84
refactor(channels): share one ChannelLink + channelYouTubeUrl helper
peter
2026-06-19 03:22:10 +02:00
-
-
96f303b0cf
Merge improvement/inbox-nav-links: navigation links on watched + scheduler notices
peter
2026-06-19 03:07:35 +02:00
-
-
85b3a9f95c
Merge improvement/header-activity-coherent: header reflects live sync activity, not pending work
peter
2026-06-19 03:07:35 +02:00
-
-
c2b877c14e
feat(inbox): add navigation links to watched and scheduler notices
peter
2026-06-19 03:05:01 +02:00
-
-
-
f69e34e3a6
fix(header): show sync activity only while a job is actually running
peter
2026-06-19 02:57:45 +02:00
-
-
a004fa4107
Merge bug/scheduler-progress-visibility: live progress for any scheduler job + parallel RSS polling
peter
2026-06-19 02:45:36 +02:00
-
-
d86aee262d
Merge feature/s5-channel-discovery: discover & subscribe to channels from playlists
peter
2026-06-19 02:45:36 +02:00
-
-
cdc6715935
fix(scheduler): show progress for any running job with reliable live updates
peter
2026-06-19 02:43:46 +02:00
-
e0971a23ec
feat(scheduler): report progress from every job + parallelize RSS polling
peter
2026-06-19 02:43:37 +02:00
-
-
-
75ecf19147
feat(notifications): link the subscribe activity to the channel
peter
2026-06-19 02:16:50 +02:00
-
fb6f0c5dcb
feat(channels): discover & subscribe to channels from playlists
peter
2026-06-19 02:16:42 +02:00
-
-
7c0655a8f5
Merge: promote dev to prod
peter
2026-06-19 00:20:38 +02:00
-
-
b5141ab112
docs(release): correct 0.10.0 note — reload isn't guarded
peter
2026-06-19 00:20:38 +02:00
-
db6b108a6f
Merge: promote dev to prod
peter
2026-06-19 00:07:35 +02:00
-
-
1e41a624ff
release: 0.10.0
peter
2026-06-19 00:07:25 +02:00
-
e94dde1950
Merge improvement/settings-panel-trim: tidy Settings height, drop native unload prompt
peter
2026-06-19 00:04:19 +02:00
-
-
2e79074fca
fix(settings): size panel to the active tab + drop the native unload prompt
peter
2026-06-19 00:04:19 +02:00
-
-
53ba10e7c6
Merge feature/settings-explicit-save: explicit Save/Discard for preferences
peter
2026-06-18 23:59:40 +02:00
-
-
4a1a025353
feat(settings): explicit Save/Discard for preferences with dirty tracking
peter
2026-06-18 23:59:40 +02:00
-
-
d61e844f6b
Merge bug/optimistic-state-notify-on-success: gate state-change notices on server confirmation
peter
2026-06-18 23:27:59 +02:00
-
-
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
-