From 5999631b399f1dcdd9ef9305860a5fbc25f41cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Sat, 27 Jun 2015 18:37:35 +0200 Subject: [PATCH] Fixed some more issues with disconnecting issues --- server/server.js | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/server/server.js b/server/server.js index 93dc7f79..749acc1c 100755 --- a/server/server.js +++ b/server/server.js @@ -510,15 +510,19 @@ io.on('connection', function(socket){ if(contains(lists[coll], guid)) { var index = lists[coll].indexOf(guid); - lists[coll].splice(index, 1); - io.to(coll).emit("viewers", lists[coll].length); - io.to(coll).emit('chat', [name, " left"]); + if(index != -1) + { + lists[coll].splice(index, 1); + io.to(coll).emit("viewers", lists[coll].length); + io.to(coll).emit('chat', [name, " left"]); + } } if(contains(unique_ids, short_id)) { var index = unique_ids.indexOf(guid); - lists[coll].splice(index, 1); + if(index != -1) + lists[coll].splice(index, 1); } } @@ -531,9 +535,19 @@ io.on('connection', function(socket){ if(contains(lists[coll], guid)) { var index = lists[coll].indexOf(guid); - lists[coll].splice(index, 1); - io.to(coll).emit("viewers", lists[coll].length); - io.to(coll).emit('chat', [name, " left"]); + if(index != -1) + { + lists[coll].splice(index, 1); + io.to(coll).emit("viewers", lists[coll].length); + io.to(coll).emit('chat', [name, " left"]); + } + } + + if(contains(unique_ids, short_id)) + { + var index = unique_ids.indexOf(guid); + if(index != -1) + lists[coll].splice(index, 1); } } @@ -546,9 +560,19 @@ io.on('connection', function(socket){ if(contains(lists[coll], guid)) { var index = lists[coll].indexOf(guid); - lists[coll].splice(index, 1); - io.to(coll).emit("viewers", lists[coll].length); - io.to(coll).emit('chat', [name, " left"]); + if(index != -1) + { + lists[coll].splice(index, 1); + io.to(coll).emit("viewers", lists[coll].length); + io.to(coll).emit('chat', [name, " left"]); + } + } + + if(contains(unique_ids, short_id)) + { + var index = unique_ids.indexOf(guid); + if(index != -1) + lists[coll].splice(index, 1); } }