I tried to use Matrix a while back, but I got put off when it asked me to agree to its Terms of Service... what kind of decentralised system has a terms of service? It's meant to serve the user, not the developer. I found Ricochet IM ( https://ricochet.im/ ) to be much more to my taste. Your Ricochet ID is just a Tor hidden service, and when someone wants to chat to you their client connects to your Tor hidden servic…
"Using Tor gets you encryption and onion-routing for free." But not end-to-end encryption ... (unless Tor changed that?)
It's not encrypted between the Ricochet process and the Tor process (which is a point for potential improvement), but if you don't trust your local machine you've already lost.