ну у меня так и сделано, просто отправка всем пользователям через io.emit, просто я сохраняю в БД сообщения, чтобы пользователь, который зашел мог получить историю сообщений, почему тонна кода?
на первом скрине:
io.in(data.roomId).emit("ROOM:MESSAGE_ADDED", createAnswer(0, null, { message: newMessage }));