From af0904ccfaa8d65511c4138d8bf03e5d1891b415 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 12 Mar 2020 12:17:31 +0100 Subject: [PATCH] rewrite user-count and disconnect events --- src/index.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/index.ts b/src/index.ts index b0fb545..f8b6d39 100755 --- a/src/index.ts +++ b/src/index.ts @@ -35,8 +35,8 @@ io.on("connection", socket => { socket.broadcast.to(roomID).emit("new-user", socket.id); } io.in(roomID).emit( - "room-user-count", - io.sockets.adapter.rooms[roomID].length + "room-user-change", + Object.keys(io.sockets.adapter.rooms[roomID].sockets) ); }); @@ -48,9 +48,11 @@ io.on("connection", socket => { socket.on("disconnecting", () => { const rooms = io.sockets.adapter.rooms; for (const roomID in socket.rooms) { - const remaining = rooms[roomID].length - 1; - if (remaining > 0) { - socket.broadcast.to(roomID).emit("room-user-count", remaining); + const clients = Object.keys(rooms[roomID].sockets).filter( + id => id !== socket.id + ); + if (clients.length > 0) { + socket.broadcast.to(roomID).emit("room-user-change", clients); } } });