We span up a Synapse instance the other day and connected to it with Element on a few different laptops. (This is the Matrix server and client btw — they really need a marketing / branding person!) It was both hellish and amazing. Hellish in that I had absolutely no idea how to use anything. Channels and rooms and stuff. All very complicated and weird. I just wanted a single, default place to hang out! It was also am…
I try it every now and then and within a couple minutes, I manage to break something, that my Matrix-using friends just shrug off. As an example, just a few days ago I used the web client again and had a chat with a friend. Just for fun, he added a bazillion emoji reactions to one of my messages, and after that the client would always claim our conversation has unread messages, even after right-clicking and selecting "mark as read".
But my favorite is how they broke the IRC bridge about 3 months ago: It randomly drops messages from IRC -> Matrix. There's an issue[1] for this with pretty much no reaction from the devs. Like, nobody cares. So on one hand, the Matrix folks always stress how it's the best chat protocol on the planet because of all the bridges that connect it to everything, but then in reality those brides are unreliable and apparently only there to tick a box, working as well as Microsoft's POSIX layer for Windows NT in the 90s.
And apart from the complete lack of interest in getting this fixed, it also just boggles the mind how you can even break it in this way. IRC has a persistent connection and streams messages separated by CRLF. How do you end up parsing the protocol properly and then randomly ignore a received message?
In its current form, the bridge does more harm than good, as you can't always keep in mind during a conversation that the bridge might just have dropped a message again, leading to frustrating misunderstandings every now and then.