diff --git a/src/Server.js b/src/Server.js index 1eedfbf..8fc78a9 100644 --- a/src/Server.js +++ b/src/Server.js @@ -452,12 +452,13 @@ io.on('connection', (socket) => { // close transports await roomList.get(socket.room_id).removePeer(socket.id); + + roomList.get(socket.room_id).broadCast(socket.id, 'removeMe', removeMeData()); + if (roomList.get(socket.room_id).getPeers().size === 0) { roomList.delete(socket.room_id); } - roomList.get(socket.room_id).broadCast(socket.id, 'removeMe', removeMeData()); - socket.room_id = null; callback('Successfully exited room'); @@ -479,9 +480,9 @@ io.on('connection', (socket) => { function removeMeData() { return { - room_id: socket.room_id, + room_id: roomList.get(socket.room_id) && socket.room_id, peer_id: socket.id, - peer_counts: roomList.get(socket.room_id).getPeers().size, + peer_counts: roomList.get(socket.room_id) && roomList.get(socket.room_id).getPeers().size, }; }