Summary
Currently, there is only public chat. We need to implement chatting inside a room.
When server receives a message, it needs to assign each message an id. Id has order, that means from an id, we need to be able to know the next id.
When client receives a message with id, it needs to check if the message is the next that it expects. if not, it needs to ask server for all the messages that it has not received.