Возможно, вы можете изменить свое решение, которое «работает глобально», чтобы оно работало для каждой комнаты.
Я думаю, вы сделали что-то вроде этого:
// At the beginning:
const messages = [];
// When a user joins,
// you send the 'messages' history
// When a user sends a message:
const newMessage = {username: 'Stratubas', body: 'Hello!', timestamp: Date.now()};
messages.push(newMessage);
, чтобы вы могли изменить его примерно так:
// At the beginning:
const messagesPerRoom = {};
// When a user joins a room:
const roomId = 'the_url_parameter_value';
if (messagesPerRoom[roomId] === undefined) {
messagesPerRoom[roomId] = [];
}
// and send the 'messagesPerRoom[roomId]' history
// When a user sends a message:
const newMessage = {username: 'Stratubas', body: 'Hello!', timestamp: Date.now()};
messagesPerRoom[roomId].push(newMessage);