From 559415aecd0c7608e780cf44d953269971adf625 Mon Sep 17 00:00:00 2001 From: mjfwebb Date: Mon, 24 Nov 2025 20:31:33 +0100 Subject: [PATCH 1/2] fix: ffz modifier emotes now correctly modify Twitch emotes --- src/views/Chat/ChatImageRenderer.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/views/Chat/ChatImageRenderer.tsx b/src/views/Chat/ChatImageRenderer.tsx index a382081..c15fbe6 100644 --- a/src/views/Chat/ChatImageRenderer.tsx +++ b/src/views/Chat/ChatImageRenderer.tsx @@ -80,6 +80,7 @@ export const ChatImageRenderer = ({ fragments }: { fragments: ChannelChatMessage emote: getTwitchEmote(fragment.emote.id), cheer: undefined, skip: false, + modifierFlags: [...nextMessageModifierFlags], }); nextMessageModifierFlags.length = 0; return; @@ -169,6 +170,8 @@ export const ChatImageRenderer = ({ fragments }: { fragments: ChannelChatMessage }); }); + console.log('Message Parts:', messageParts); + return ( <> {messageParts.map(({ match, emote, cheer, skip, modifierFlags }, index) => { @@ -208,7 +211,7 @@ export const ChatImageRenderer = ({ fragments }: { fragments: ChannelChatMessage } // Next message part is a space - if (nextMessagePart.match === ' ') { + if (nextMessagePart.match.trim() === '') { nextIndex++; continue; } @@ -221,12 +224,10 @@ export const ChatImageRenderer = ({ fragments }: { fragments: ChannelChatMessage // Next message part is a modifier if (nextMessagePart.emote && nextMessagePart.emote.modifierFlags > 0) { - let nextMessageParsedFlags: string[] = []; - if (nextMessagePart.emote.origin === 'sevenTV') { - nextMessageParsedFlags = parseSevenTVModifierFlags(nextMessagePart.emote.modifierFlags); - } else if (nextMessagePart.emote.origin === 'frankerFaceZ') { - nextMessageParsedFlags = parseFrankerFaceZModifierFlags(nextMessagePart.emote.modifierFlags); - } + const nextMessageParsedFlags: string[] = [ + ...parseSevenTVModifierFlags(nextMessagePart.emote.modifierFlags), + ...parseFrankerFaceZModifierFlags(nextMessagePart.emote.modifierFlags), + ]; // Next message part is a modifier that applies to this emote if (nextMessageParsedFlags.length > 0) { From 8aca6ef52ecbe61d125801831d364811e1c258df Mon Sep 17 00:00:00 2001 From: mjfwebb Date: Mon, 24 Nov 2025 20:32:11 +0100 Subject: [PATCH 2/2] fix: update package version to 1.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44126ff..dbc44da 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "twitch-chat", "private": true, - "version": "1.0.1", + "version": "1.0.2", "type": "module", "scripts": { "dev": "vite",