No idea. I ran into this issue constantly on a home server I ran. Randomly, some people wouldn't be able to see other peoples' messages. Nothing we could do (clear cache, reload app, reinstall app, I even completely nuked and rebuilt the server) fixed to clear it up. Eventually, after it happening consistently, the group of people I ran the server for all agreed we needed a different solution.
I asked around Reddit, the server admin Matrix rooms on the main Matrix.org homeserver, etc. and never got an ounce of help from anybody or even a suggestion of what I can try. Given this shitty user experience and nonexistent support, I don't think I'll ever bother looking at Matrix as a solution again.
You should start your search at Matrix, not Element. Element is just a client implementation, for bots you have to deal with the Matrix protocol itself.
There are already hundreds of Open Source Matrix bots and bridges out there, and even guides on how to create new ones. They explain the basics probably way better than a comment in Reddit ever could.
This should get you started: https://matrix.org/docs/guides
To host your own or are you looking to add one? Identify servers are used for user discovery, so it’s probably best to use the public one at vector.im
Incidents on matrix.org are looked at by people, but if you want to be in full control, why not run your own matrix server.
The jitsi bit is having your own video chat and is optional.
rest assured, the code has been checked :) there are professional company's using it.
that said, the only real way to be sure is to download the code, go over every line, and then compile it yourself. but if you look at the number of people using it, its safe to say someone would have cried out if it somehow spying on you.
​
Also, keep in mind, nothing on earth is 100% secure. even if the software itself is secure, there's no guarantee your connection is. or someone else's. if you want 100% security, you need to be in an airtight box in space, with no connections to anything else what so ever.
So the more prober question would be, is it secure ENOUGH. in then i would say yes :)
​
as for alternatives, i deployed several Rocket.Chat instances. works pretty good :)
1:1 calls are E2EE because it's just P2P WebRTC. When you have more people, it actually uses Jitsi Meet, which seamlessly switches between P2P mode and having Selective Forwarding Units, which are currently not end to end encrypted. (Although they are working on it). I found webrtchacks.com a very useful resource on how WebRTC works.