I always used a client called quassel that had an always on server you hosted somewhere. Then you had mobile and desktop apps that you used to connect to it. Because the server portion was always connected you did not miss stuff even when your client was disconnected.
Quassel so far has been working really well on Android connected to my Quassel Core docker container on a vps.