From 0718ec5447d064432f46c6e4c48a2017c1421ec9 Mon Sep 17 00:00:00 2001 From: barnabasmolnar Date: Mon, 7 Aug 2023 00:53:12 +0200 Subject: [PATCH] Clean up follow on disconnecting. --- src/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7078667..375b444 100755 --- a/src/index.ts +++ b/src/index.ts @@ -108,7 +108,6 @@ try { } }); - // TODO follow-mode unfollow on disconnect? socket.on("disconnecting", async () => { socketDebug(`${socket.id} has disconnected`); for (const roomID in socket.rooms) { @@ -116,12 +115,19 @@ try { (_socket) => _socket.id !== socket.id, ); - if (otherClients.length > 0) { + const isFollowRoom = roomID.startsWith("follow_"); + + if (!isFollowRoom && otherClients.length > 0) { socket.broadcast.to(roomID).emit( "room-user-change", otherClients.map((socket) => socket.id), ); } + + if (isFollowRoom && otherClients.length === 0) { + const clientId = roomID.replace("follow_", ""); + io.to(clientId).emit("broadcast-unfollow"); + } } });