Skip to content

feat: render native Twitch emotes in chat#24

Merged
webbertakken merged 1 commit intomainfrom
quality-of-life-4
Feb 14, 2026
Merged

feat: render native Twitch emotes in chat#24
webbertakken merged 1 commit intomainfrom
quality-of-life-4

Conversation

@webbertakken
Copy link
Copy Markdown
Owner

Summary

  • Parse emotes IRC tag in parsePRIVMSG to extract emote ID and character positions
  • Add ChatEmote interface and emotes field to ChatMessage
  • Split message text into text/emote fragments and render emotes as inline <img> via Twitch CDN
  • Fix pre-existing test for default colour assignment on tagless messages

Test plan

  • Unit tests for parseEmotes (single, multiple, multi-position, empty, numeric IDs)
  • Unit tests for parsePRIVMSG emote extraction
  • Unit tests for splitMessageFragments (no emotes, start/middle/end emotes, multiple emotes)
  • ChatWidget rendering test with emotes as <img> elements
  • All 35 tests pass, lint clean, typecheck clean, clippy clean

- Parse emotes tag from IRC PRIVMSG into position data
- Split message text into text/emote fragments for rendering
- Render emotes as inline images via Twitch CDN
- Fix pre-existing test for default colour assignment
@webbertakken webbertakken merged commit f226216 into main Feb 14, 2026
8 checks passed
@webbertakken webbertakken deleted the quality-of-life-4 branch February 14, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant