The parent comment isn't very helpful, but from what I understand people dislike JWTs because it makes it hard to invalidate a session without some sort of work-around. For example, you can use 2 tokens, one short lived, and one long lived to get around the invalidation problem, but then you will need to occasionally validate that both tokens are still valid, and that state needs to be stored, and now you're storing some state, which is semi-contradictory to the purpose of a stateless-token. Here's a more detailed write-up from another poster -- https://news.ycombinator.com/item?id=12332119
I've found that giving IntelliJ (or Android Studio) too much memory can actually backfire. The Java process ends up using all the memory you give it, but this also results in long GC pauses past a certain point. If you're curious, turn on the memory inidicator in the app with Settings -> Appearance -> Appearance -> Show memory indicator. I've found 2gb - 4gb to be the sweet spot depending on project size.
Mainly I'm devoting my free time to a native REST client in the vain of Postman or Insomnia. It's also been an excuse to learn the Qt framework and brush up on my C++ skills. So far, I've found C++ to be insane, but I quite like Qt.
One thing that concerns me about any 3rd party chat application is that it's difficult to know if my data is secure. Any thoughts on open sourcing your application?