From 3a5555b0edb764f50a3f584e4c579b607900bd73 Mon Sep 17 00:00:00 2001 From: SamTV12345 <40429738+samtv12345@users.noreply.github.com> Date: Sun, 14 Jan 2024 12:30:26 +0100 Subject: [PATCH] Fixed pad updates. --- src/node/handler/PadMessageHandler.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index b5c069230..13b376dec 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -397,7 +397,7 @@ exports.handleCustomObjectMessage = (msg, sessionID) => { socketio.to(sessionID).emit('message', msg); } else { // broadcast to all clients on this pad - socketio.to(msg.data.payload.padId).emit('message', msg); + socketio.broadcast.to(msg.data.payload.padId).emit('message', msg); } } }; @@ -540,7 +540,7 @@ const handleUserInfoUpdate = async (socket, {data: {userInfo: {name, colorId}}}) }; // Send the other clients on the pad the update message - socket.to(padId).emit('message', infoMsg); + socket.broadcast.to(padId).emit('message', infoMsg); // Block until the authorManager has stored the new attributes. await p; @@ -1235,9 +1235,15 @@ const composePadChangesets = async (pad, startNum, endNum) => { }; const _getRoomSockets = (padID) => { - if (!socketio.in(padID).engine.clientsCount === 0) return []; - const data = Object.keys(socketio.in(padID).engine.clients).map((socketId) => socketio.in(padID).engine.clients[socketId]); - return data; + const ns = socketio.sockets; + const adapter = ns.adapter.rooms; + const room = adapter.get(padID); + const result = [] + if (!room) return [] + room.forEach(sID=>{ + if (ns.sockets.has(sID)) result.push(ns.sockets.get(sID)) + }) + return result }; /**