> supports federation and encourages alternative clients
Currently, the only featureful matrix server (synapse) uses gigabytes of RAM just for a handful of users (see also progress on dendrite and conduit). As for supporting alternative clients, Matrix ecosystem has an overdependence on 3rd party web widgets (eg. Jitsi) for client features because they are not supported by the protocol itself yet, making it harder to implement a native client with good performance and all Element features.
As i'm writing this, i realize nheko client now supports WebRTC audio-video calls when a recent GStreamer is available, congratulations on that, and good luck for the multi-platform implementation!
Is there any other example than Jitsi? I thought that was the only third party integrated in the core, and even that can be self-hosted.
Using HTTPS for transport as part of the matrix protocol is great for punching through firewalls, i'm just not convinced the rest of the web stack is well-suited to social networking usecases with a lot of information pouring in. Web engines and the DOM model were designed for static data, not for highly-dynamic information, although there's ongoing R&D around virtual DOMs to optimize those usecases.
Not that i approve Signal's attitude on this topic at all, but there are (were?) technical reasons for which they would do something else. Of course, F-Droid maintaining proper LibreSignal builds in their place alleviates the concern, and that's what Signal team famously opposed. For the uninformed, F-Droid has very serious review/build process for apps and i don't think malware was ever distributed on there (and antipatterns are listed in the UI client-side).
Which according to the GitHub discussion, the answer is: ????
Yeah, this is main reason why I avoid Signal together with Google Services usage.
Official F-Droid repo doesn't allow proprietary dependencies on which Signal depends for some messages (push?)