diff --git a/src/websocket/endpoints/base.ts b/src/websocket/endpoints/base.ts index 1009bf6..5036a83 100644 --- a/src/websocket/endpoints/base.ts +++ b/src/websocket/endpoints/base.ts @@ -57,6 +57,7 @@ export default (io: Server, socket: Socket) => { action: "remove", socketId: socket.id, }); + const clients = io.sockets.adapter.rooms.get(socketRooms[0]); if (!clients || clients.size == 0) { MissionMap.delete(socketRooms[0]); diff --git a/src/websocket/endpoints/missionManagement.ts b/src/websocket/endpoints/missionManagement.ts index 925c6b9..272fd8a 100644 --- a/src/websocket/endpoints/missionManagement.ts +++ b/src/websocket/endpoints/missionManagement.ts @@ -193,11 +193,6 @@ export default (io: Server, socket: Socket) => { const socketRooms = Array.from(socket.rooms).filter((room) => room !== socket.id && room !== "home"); socket.leave(socketRooms[0]); - const clients = io.sockets.adapter.rooms.get(socketRooms[0]); - if (!clients || clients.size == 0) { - MissionMap.delete(socketRooms[0]); - } - MissionMap.updateAwareness(socketRooms[0], { action: "remove", store: "editors", @@ -224,6 +219,11 @@ export default (io: Server, socket: Socket) => { socketId: socket.id, }); + const clients = io.sockets.adapter.rooms.get(socketRooms[0]); + if (!clients || clients.size == 0) { + MissionMap.delete(socketRooms[0]); + } + return { type: "deleted", answer: "leave instance",