@connorm
true, Redis is a nice addition. Though, it is "only" a memory-db, which means that if it has to be restarted at some point, or worse: there is a server failure, all stored messages will be lost. So I'd go for some other solution.
Encrypted group messaging is not complicated. When sending messages over the Signal Protocol to a group, you have to get the keybundle for every member, then you can encrypt the message with every bundle and just send it out. All messages you receive will use your keybundle, so nothing special there. Just make sure to include some reference to the group chat so the client knows where to display the message ;)