From e3b02a295c987f52f89232b24de4236acb1e0c1b Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Fri, 11 Sep 2015 16:14:30 +0100 Subject: [PATCH] Check conf user/rooms a bit more efficiently --- src/ConferenceHandler.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/ConferenceHandler.js b/src/ConferenceHandler.js index e4d0f1f79b..ef36094306 100644 --- a/src/ConferenceHandler.js +++ b/src/ConferenceHandler.js @@ -30,15 +30,8 @@ ConferenceHandler.prototype._joinConferenceUser = function() { if (!groupRoom) { return q.reject("Bad group room ID"); } - var members = groupRoom.getJoinedMembers(); - var confUserExists = false; - for (var i = 0; i < members.length; i++) { - if (members[i].userId === this.confUserId) { - confUserExists = true; - break; - } - } - if (confUserExists) { + var member = groupRoom.getMember(this.confUserId); + if (member && member.membership === "join") { return q(); } return this.client.invite(this.groupRoomId, this.confUserId); @@ -49,7 +42,8 @@ ConferenceHandler.prototype._getConferenceUserRoom = function() { var rooms = this.client.getRooms(); var confRoom = null; for (var i = 0; i < rooms.length; i++) { - if (rooms[i].hasMembershipState(this.confUserId, "join") && + var confUser = rooms[i].getMember(this.confUserId); + if (confUser && confUser.membership === "join" && rooms[i].getJoinedMembers().length === 2) { confRoom = rooms[i]; break;