Что, как мне кажется, можно усовершенсвовать в back-е:
1) В сущность "Chat" внести поле "lastModified", в которое сервер будет вносить
- при создании чата: копию поля "createdAt"
- при добавлении в чат нового сообщения: дату создания этого сообщения
2) При создании нового чата в "members" автоматически добавлять owner-а этого чата
3) В сообщения socket-а должна быть полная информация - достаточная для отображения сообщения на экране (что бы не дергать back лишними запросами)