From 772b8e8e3e134dda86aab915e2d4052dd12ba293 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sat, 6 Dec 2014 13:50:21 +0100 Subject: [PATCH] fixed an issue where closed sparks could still join a room --- lib/rooms.js | 12 ++++++++++-- lib/sparks.js | 5 +++-- package.json | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/rooms.js b/lib/rooms.js index 49c998d..3b7c860 100644 --- a/lib/rooms.js +++ b/lib/rooms.js @@ -415,6 +415,13 @@ Room.prototype.onUnauthenticatedJoin = function(spark, nickname) { // Check if requested nickname belongs to a registered user usersdb.exists(['user:' + nickname], function(err, exists) { + if (!primus.spark(spark.id)) { + if (err) { + console.error(err.message); + } + return; + } + if (err) { console.error(err.message); feedback = 'Could not check name availability.'; @@ -427,8 +434,9 @@ Room.prototype.onUnauthenticatedJoin = function(spark, nickname) { } spark.nickname = nickname; - spark.join(room.roomname); - room.addUser(spark, false); + spark.join(room.roomname, function() { + room.addUser(spark, false); + }); }); }; diff --git a/lib/sparks.js b/lib/sparks.js index 9f392ff..a9187cf 100644 --- a/lib/sparks.js +++ b/lib/sparks.js @@ -119,8 +119,9 @@ var connection = function(spark) { return spark.send('alreadyinaroom'); } spark.nickname = user; - spark.join(room); - rooms[room].addUser(spark, true); + spark.join(room, function() { + rooms[room].addUser(spark, true); + }); } }); spark.on('joinunauthenticated', function(nickname, room) { diff --git a/package.json b/package.json index b475aa8..949b84f 100644 --- a/package.json +++ b/package.json @@ -35,5 +35,5 @@ "start": "node app.js" }, "subdomain": "binb", - "version": "0.5.3-9" + "version": "0.5.4" } -- 2.54.0