Draw the GIFs subscribers post, surface Twitch's share prompts, and put moderation on the row - #28
Merged
Merged
Conversation
…ut moderation on the row Twitch now lets Tier 2 and Tier 3 subscribers post GIFs, and sends them as an ordinary message carrying a `gifs` tag. The feed draws the picture over the span it stands for, from GIPHY's own hosts only, and a GIF button beside the emote button opens Twitch's own GIF keyboard, since there is no endpoint for sending one and the keyboard is where Twitch applies its own rules. The viewer's tier is read off their USERSTATE badges and, with the new scope, from Helix. Watch streaks arrive over IRC as a notice of their own now and are drawn from Twitch's fields; anything unknown falls back to Twitch's own sentence. The prompts Twitch draws for the viewer alone — share your watch streak, share your resub — sat under the panel where they could not be seen, and are read off the page and offered as a row with Twitch's own Share button behind it. Moderators get a strip on the message under the pointer: delete, a ten-minute timeout and a two-press ban, on Twitch and Kick alike. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.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.
What this does
GIFs in Twitch chat. Tier 2 and Tier 3 subscribers can post GIFs now, and Twitch sends them as an ordinary message with a
gifstag (start-end|id|url). The feed draws the picture over the span it stands for, live and in the replayed history, accepting only GIPHY hosts over https. A GIFs in chat setting swaps the pictures for a small GIF link on every row already on screen. Sending goes through Twitch's own GIF keyboard — a GIF button opens the site's emote picker on its GIFs tab and the panel steps aside — because there is no endpoint for it and the keyboard is where Twitch applies the tier rule and the cooldown. The viewer's own tier and months come off theirUSERSTATEbadges, and from Helix when the token carries the newuser:read:subscriptionsscope; the feed says so once on join and the GIF button lights up when the keyboard will take them.Watch streaks and share reminders. Watch streaks arrive over IRC as
viewermilestoneand are drawn from Twitch's fields (count and channel points); modiversaries and any notice this has never heard of use Twitch's ownsystem-msg. The prompts Twitch draws for the viewer alone — share your watch streak, share your resub — were under the panel where they could not be seen. The native-event watcher reads them, recognised only by their Share button, and offers a FOR YOU row with Share (presses Twitch's button, panel steps aside for the message box that follows), Show me, and dismiss.Moderation on the row. Pointing at a message in a chat the viewer moderates grows a strip on it: delete, a ten-minute timeout and ban, on Twitch and Kick. Ban takes two presses and disarms itself. The username menu keeps everything it had.
Notes
user:read:subscriptions; without it the tier comes from badges alone (a founder's badge does not say).tests/harness.html, which grew buttons for a GIF row, a fake moderator, a fake Tier 2 sub, and both prompts; contrast passes WCAG AA in both themes with the new rows on screen.🤖 Generated with Claude Code