]> git.example.dev Git - binbsis50.git/commitdiff
fixed an issue where closed sparks could still join a room
authorLuigi Pinca <luigipinca@gmail.com>
Sat, 6 Dec 2014 12:50:21 +0000 (13:50 +0100)
committerLuigi Pinca <luigipinca@gmail.com>
Sat, 6 Dec 2014 14:03:43 +0000 (15:03 +0100)
lib/rooms.js
lib/sparks.js
package.json

index 49c998dbca5ebf546bd8613585d203ab03fa5c19..3b7c860033d85bf5f025604ff3784454712e63d7 100644 (file)
@@ -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);
+    });
   });
 };
 
index 9f392ffa1ebb5051cbe065b97b1cad9103c0b89f..a9187cf39174c3182e26c0b17b390fa99502299e 100644 (file)
@@ -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) {
index b475aa8bd618a411654a4b3092674ac0aca2f78d..949b84f7597bd872db43c3c7e8918ad43a2a1ec0 100644 (file)
@@ -35,5 +35,5 @@
     "start": "node app.js"
   },
   "subdomain": "binb",
-  "version": "0.5.3-9"
+  "version": "0.5.4"
 }