It occurs to Us that just how horrible the #markup situation for #Matrix is isn't very common or accessible knowledge, so here's a summary from a nerd who loves tinkering with markup.
For background, unlike the common asmuption, Matrix doesn't actually work with #MarkDown (#CommonMark), but defines a narrow set of HTML tags and attributes to be supported and it's the client's job to convert markdown to HTML before sending. And, before We say anything bad about it, We absolutely love the idea, if it were executed properly, it would completely blow every other chat platform out of the water with how powerful the markup is while remaining just as accessible to the average user.
Of course, this is #mtarix we're talking about, so what actually happens is that
1. "Implement any of these tags at your convenience. We do not care how many or which." ( https://spec.matrix.org/latest/client-server-api/#mroommessage-msgtypes )and
2. even if you follow the """strongly advised""" set to a tee, there's still so much behavior left undefined that even when things are "supported", there is no guarantee that anything but the most basic of markup will result in messages that look anything alike.
Client-Server API
The client-server API allows clients to send messages, control rooms and synchronise conversation history. It is designed to support both lightweight clients which store no state and lazy-load data from the server as required, as well as heavyweight clients which maintain a full local persistent copy of server state.


