Over the past few days I’ve been investigating an issue in a chat client I’m working on wherein certain emojis aren’t being parsed correctly (, for example). Instead, what I get is each individual emoji that makes up the whole… so in my chat I see .
After testing with various websocket libraries, and confirming that the regex I’m using is working as expected to parse this emoji (and others like it), I’ve determined that the issue seems to be on the Twitch side.
I’m guessing this has something to do with Twitch parsing out any form of space in order to prevent blank messages from being sent, however it seems to be stripping out the zero width joiner character (https://emojipedia.org/zero-width-joiner/) from emojis as well.
Not sure exactly how to proceed from here, I could write some code to fix this deficiency but if a user happened to enter certain emojis into the chat with no spaces, it may result in a false match and the wrong emoji being displayed anyway (though this would probably be very uncommon). Preferably I’d like to see this fixed on the Twitch side.
Any feedback is appreciated.