From c999bfca3932d6ad8dc1b9fa47fccd16789f17a6 Mon Sep 17 00:00:00 2001 From: Wenszel Date: Wed, 22 Nov 2023 20:39:05 +0100 Subject: [PATCH] improved performance when reloading page --- backend/handlers/roomHandler.js | 5 +++-- backend/server.js | 1 - src/components/Gameboard.jsx | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/handlers/roomHandler.js b/backend/handlers/roomHandler.js index a7e964c..bfdeef3 100644 --- a/backend/handlers/roomHandler.js +++ b/backend/handlers/roomHandler.js @@ -10,9 +10,10 @@ module.exports = (io, socket) => { if (room.nextMoveTime <= Date.now()) { room.changeMovingPlayer(); await RoomModel.findOneAndUpdate({ _id: req.session.roomId }, room); + io.to(req.session.roomId).emit('room:data', JSON.stringify(room)); + } else { + io.to(socket.id).emit('room:data', JSON.stringify(room)); } - io.to(req.session.roomId).emit('room:data', JSON.stringify(room)); }; - socket.on('room:data', getData); }; diff --git a/backend/server.js b/backend/server.js index a2abf69..fb85acb 100644 --- a/backend/server.js +++ b/backend/server.js @@ -81,7 +81,6 @@ io.on('connection', socket => { const roomId = socket.request.session.roomId.toString(); socket.join(roomId); socket.emit('player:data', JSON.stringify(socket.request.session)); - io.to(roomId).emit('player joined'); } }); diff --git a/src/components/Gameboard.jsx b/src/components/Gameboard.jsx index 8847ba9..e0764d9 100644 --- a/src/components/Gameboard.jsx +++ b/src/components/Gameboard.jsx @@ -35,6 +35,7 @@ const Gameboard = () => { socket.emit('room:data', context.roomId); socket.on('room:data', data => { data = JSON.parse(data); + if (data.players == null) return; // Filling navbar with empty player nick container while (data.players.length !== 4) { data.players.push({ name: '...' });