Repository navigation
PLAN-v3 Phase 3: stream-day hype, recaps, clips, and questions - #10
Merged
Merged
Conversation
Hype progress drives an overlay and dashboard meter, stream online/offline rotates the memory session and writes a timed recap, and optional ad and shoutout feeds type a single line. Viewer replies carry a Twitch reply-parent id, clips and editable notes are on the dashboard, and !ask can wait in a question list. Co-authored-by: Kisahime <Kisahime@users.noreply.github.com>
The dashboard hype track is taller, ad breaks use the overlay countdown instead of a second frozen alert, and viewer notes can be added with a button as well as Enter. Co-authored-by: Kisahime <Kisahime@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
V3 Phase 3 stream-day features. PR #9 had already merged into
main(4ccae7e), so this targetsmainand the diff is only Phase 3.No new needs-owner items. V3-P0 stays with the owner. Hype-train scope (V3-P0-02) is still the live check this meter depends on; it is not ticked here.
Tasks
hypepayload (progress,goal,total,expires_at,active,hold_seconds). The overlay draws a bar and countdown (?hype=0hides it). An end event hides the bar afteroverlay.alert_hold_seconds. The Twitch panel shows the same meter.stream.onlineandstream.offlineare core subscriptions (no scope). Online rotatessession_idand stampssession_started. Offline writesdata/recaps/YYYY-MM-DD-HHMM.mdfor that session only (cheers, redeems, and polls included) and can idle the booth. The manual recap filename staysYYYY-MM-DD.md.events.ad_breaks(off in shipped config). Pixel typesad break, back in N secondsand the overlay counts down. A missingchannel:read:adsscope showsmissing scope channel:read:adsin the feed list.ChatLine.msg_id. Viewer replies send@reply-parent-msg-id=… PRIVMSGwhen a raw socket is available, and fall back to the current@nameline. Streamer replies, alerts, and shoutouts stay unthreaded.POST /api/clipand!pixel clip(60s cooldown, separate from the control cooldown) create a clip and store the edit URL as a streamer note. A missingclips:editscope returnsmissing scope clips:editand greys the Clip button.chat.ask_queue: true(default false, so existing auto-answer stays),!asklines wait in a Questions list in arrival order. Answer speaks a reply to that viewer. Stale filtering does not drop them. The overlay can show the current question (?ask=0hides it).POST /api/memory/noteadds, removes, and pins notes from the People panel. Added notes show up in that viewer's prompt block. Pinned viewers surviveprune().events.shoutouts(off in shipped config). A received shoutout and an outgoing raid each produce one line. Outgoing raids are no longer dropped in the parser;channel.raid.outis subscribed only when the feed is on.Testing
ruff check src testsclean.pytest: 122 passed, coverage 75.36% (fail-under 72).tests/test_v3_phase3.pycover the hype payload, two same-day session recaps, the ad line and missing-scope feed label, reply-parent ids, clip scope and cooldown, the ask queue, editable pinned notes, and shoutout/raid-out lines.Dashboard hype meter and question queue
phase3-hype-ad-and-questions.mp4
Diagnoses that were already true: hype train versions stay
2, core subscriptions still go out first, and optional feeds stay off inconfig.yaml.To show artifacts inline, enable in settings.