Tried ElementX but ran into issues while getting it working with a selfhosted matrix server. After setting up dendrite (matrix server) and sliding-sync server (asynchronous message history syncing; which it requires) I still wasn't able to get past the initial sync screen. Are you hosting your own matrix server, did you use it with a public server, or have you not tried using it yet?