The thing it's missing the most is better multi device support and an updated desktop client.
For me, I think Matrix is more complete (specially since it backs-up your chats and media encrypted). The only thing it's lacking (at least Element specific) is encrypted chat search support on mobile.
It has bridges for most messaging services so you could use a matrix frontend for most of your messaging needs without having people on matrix so long as the server admin has set up those extensions
I use it on windows. The client is totally fine for the most part.
Though for some reason it regularly screws up the device-connection, forcing me to reconnect the device, loosing access to every old message. Seems to be a rare bug though, as my family also uses the windows client and theirs never has this problem (out of 8 device 1 has this problem)
I use it for linux. Recently there was a bug where if you had a chat opened, it would pin one core to 100% usage. It also lacks feature parity with the mobile client (ex: gif search and send).
Yeah, it sucks that if I were using Signal only on my phone and eventually decide to start using it on desktop, it doesn't sync any conversation history, resulting in the desktop client showing nothing from before you set it up. It should have older devices send history to new ones. If you're permanently switching devices, are you losing that history for good?
iMessage can't be "the mainstream" app by locking out most of the world tho. Plus it is definitely the ugliest thing Apple has ever made in its lifetime that I know of.
All Google needs to do is make a public RCS API. Then we will have all the important features iMessage has on Android via regular texting. I have no fucking clue why they are making RCS exclusive to their messaging app.
I don't think it's really a chat app. Isn't it just a text replacement? Or does it just use that number as your ID to use it? I have it, but only ever used it with one guy.
It has lots of nice features over SMS: read/typing notifications, image/video support, proper groups, message expiration. I think that makes it a chat app