Commit graph

40 commits

Author SHA1 Message Date
MiTHRAL
e7028c190b Implement subtitle selection support (burn-in via Jellyfin transcoding) with dynamic stream restarting 2026-05-26 18:39:21 -04:00
MiTHRAL
f95c9c81b6 Implement naming modal for watch parties and temporary voice channel support with auto-cleanup 2026-05-26 18:29:36 -04:00
MiTHRAL
fcb03ad8c2 Fix pause/resume desync by stopping and restarting stream at offset instead of SIGSTOP/SIGCONT 2026-05-26 18:26:58 -04:00
MiTHRAL
0edacd59da Polyfill Promise.withResolvers and upgrade to Node 22 base image 2026-05-26 18:18:39 -04:00
MiTHRAL
072d0483bd Patch LibavDemuxer to output full error stack trace for stream failures 2026-05-26 18:13:25 -04:00
MiTHRAL
4ccb769c9d Fix setActivity TypeError by using a try-catch block 2026-05-26 18:03:38 -04:00
MiTHRAL
1a9abffab5 Fix End All Sessions to delete session rows and return correct deleted count 2026-05-26 18:02:28 -04:00
MiTHRAL
d9c9d8ee8e Add End All Sessions button to dashboard and API 2026-05-26 18:00:52 -04:00
MiTHRAL
56a4be7ea6 Log router endpoint setup errors to stdout/stderr 2026-05-26 17:58:18 -04:00
MiTHRAL
b4b70de3ba Log streaming stack load error on worker startup 2026-05-26 17:56:05 -04:00
MiTHRAL
384a6f9b94 Add extensive logging to stream worker startPlayback function 2026-05-26 17:53:56 -04:00
MiTHRAL
74f701fb04 Fix await TypeError in do_end_session and show lastError in status summary 2026-05-26 17:50:40 -04:00
MiTHRAL
ff11dd7ebd Fix worker duplicate joinVoice hang and add Clear Queue and End Session buttons 2026-05-26 17:46:47 -04:00
MiTHRAL
926399502f Make watch party worker stream more reliably 2026-05-26 16:50:35 -04:00
MiTHRAL
536ea2eff1 Acknowledge watch party panel interactions immediately 2026-05-26 15:47:33 -04:00
MiTHRAL
42c9101a9f Fix worker websocket runtime 2026-05-26 15:39:05 -04:00
MiTHRAL
5b356c2cf6 Fix watch party queue flow and add control panel 2026-05-26 15:35:45 -04:00
MiTHRAL
e6ca8531ca Fix watchparty circular imports 2026-05-26 15:27:00 -04:00
MiTHRAL
fbf2264041 Add Discord watch party commands 2026-05-26 15:25:19 -04:00
MiTHRAL
3987867d71 Fix worker runtime image for node-av 2026-05-26 15:16:48 -04:00
MiTHRAL
4090552e2c Refactor bot and add watch party stream worker 2026-05-26 15:06:24 -04:00
MiTHRAL
81756addf8 Add media library reset action 2026-05-15 15:53:36 -04:00
MiTHRAL
224257e211 Scope Jellyfin item fetches per library 2026-05-15 15:49:44 -04:00
MiTHRAL
8a0e4ec014 Filter Jellyfin media sync by library 2026-05-15 15:46:17 -04:00
MiTHRAL
8ac0973340 Use Jellyfin as media catalog source 2026-05-15 15:42:50 -04:00
MiTHRAL
4d82e0d55b Add catalog link page and Jellyfin dedupe 2026-05-15 15:38:20 -04:00
MiTHRAL
942c8c3a54 Sync media catalog from Jellyfin 2026-05-15 15:30:04 -04:00
MiTHRAL
08b40b0db0 Publish media catalog as markdown attachment 2026-05-15 15:23:49 -04:00
MiTHRAL
d998896872 Add editable media library dashboard 2026-05-15 15:13:04 -04:00
MiTHRAL
74445a5c86 Add dashboard media catalog and channel settings 2026-05-15 15:05:41 -04:00
MiTHRAL
65842e6d33 Add dashboard drag-to-reorder and Discord service grouping 2026-05-13 23:00:41 -04:00
MiTHRAL
e6fbd670ac Keep bot online via Discord gateway 2026-05-13 22:37:55 -04:00
MiTHRAL
bd282b4dc3 Allow proxy-only dashboard auth 2026-05-13 22:35:26 -04:00
MiTHRAL
77464b8030 Document NPM-protected deploy mode 2026-05-13 22:33:37 -04:00
MiTHRAL
86ea28cceb Use UID GID 1001 1001 in container 2026-05-13 22:21:13 -04:00
MiTHRAL
fee04724ed Fix container ownership for UID 1001 2026-05-13 22:20:09 -04:00
MiTHRAL
4008d9550e Default bot container to UID 1001 2026-05-13 22:16:56 -04:00
MiTHRAL
3b2e7cdd12 Run container as host deploy user 2026-05-13 22:16:06 -04:00
MiTHRAL
991ccdbbb1 Harden deploy token and config handling 2026-05-13 22:13:26 -04:00
MiTHRAL
c415e82500 Initial Archive status bot 2026-05-13 22:06:44 -04:00