I believe they are reworking how the protocol works with groupchats to fix the issues you mentioned, something about not everyone direct connecting and having like a handful of "moderators" which messages will be relayed through. But definitely server side they need to rewrite that. They used Haskell lol they should've used scala if they wanted functional programming. It's so much better