A dive into open chat protocols | Hugonweb Annotated Link Bibliography
https://wiki.alopex.li/ADiveIntoOpenChat
This post dives deeper into the criticisms of Matrix chat that have been on Lobste.rs lately. It compares Matrix and XMPP to Discord in a pretty even-handed way.The author makes the case pretty clear that chat protocols should be simpler than what Matrix is trying to do. It does seem that a chat protocol should just send messages as events between federated servers rather than trying to replicate chat history state between servers. If the history is that important (which I don't think it usually is in chat), then it should just be on a single server for simplicity.