55434f499d77a3ad6b64666faf1731bca976fe6c
Sibling .events.jsonl alongside each live recording. Default-on because the cost is one Helix/GQL hit per minute per active recording — trivial — and the value is real: when seeking inside a 6h archived stream, "at minute 142 he switched from Just Chatting to Counter-Strike" is exactly the kind of thing you want answered. Server: - new LiveEventTracker (one per active live recording, keyed by queue item id). Holds an open file descriptor for the .events.jsonl output, last-seen title + game, recording start timestamp. - start writes a recording_start line with the initial Helix metadata snapshot. Stop writes a recording_end line with duration + success flag + error message if any. - Background pollLiveEventsForChanges fires every 60s while at least one tracker is active (timer auto-stops when the last recording ends so an idle app pays nothing). Per tracker, hits getLiveStreamInfo, compares against the cached title/game, emits title_change / game_change lines on diff. Game changes also trigger a Discord webhook ping when the user has the live-start notification enabled — game flips matter more than title micro- edits, so we only ping for game. - JSON Lines format like the chat capture file — a kill mid-stream preserves prior data, no need to rewrite. Wire-up: - downloadLiveStream starts the tracker after the chat session is spun up but before streamlink launches, so the recording_start line lands first. Stops it after streamlink exits with the result.success flag carried into recording_end. The .events.jsonl path is added to outputFiles when it exists so the renderer's Open file / Show in folder UI lists it alongside the video and chat file. Renderer / settings: - new log_stream_events: boolean (default true — it's cheap). Settings -> Download card gets a toggle with hint explaining the Helix-call-per-minute trade-off. - AppConfig type, autosave fingerprint, syncSettingsForm, applyLanguageToStaticUI, locale strings DE + EN. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
5.7 MiB
Releases
230
Twitch VOD Manager 1.0.23
Latest
Languages
TypeScript
74.7%
CSS
12.6%
HTML
7.1%
JavaScript
5.6%