I’d like to add my voice and revive this thread, @slavasmirnov: extension chat messages not being relayed over IRC in exchange for unknown future benefits is Not Cool™, specifically because the default behavior of the majority of streamers does not match up with the interaction y’all have decided on.
If providing a higher fidelity experience incompatible with IRC is the goal, the solution is to 1) relay the normal plaintext messages over IRC and 2) provide an optional payload as an upgrade to that message that can be displayed in high-fidelity on desktop chat. Progressive enhancement is a widely accepted pattern for handling this exact use case. Look to slack for an example of backwards-compatible progressive enhancement for chat messages, specifically.
As it is, the fact that chat messages are only seen on first-party web and mobile clients makes the messages 100% useless for action attribution and streamer notifications. Without a consistent and stable experience for every viewer and streamer, the experience is fragmented and neither the streamer or the viewer can have confidence in their actions. “how do I know the streamer will see me spend these bits on this extension?”, “how do I know that I gave a shoutout to every viewer that gave me bits”. That uncertainty absolutely destroys engagement and confidence in using extensions.
I would highly recommend publishing existing extension messages over IRC, especially since all extensions currently match the format and length requirements of the IRC transport. In the future, providing an additional parameter to the chat endpoint to support high fidelity interactions is backwards-compatible by default.