diff --git a/src/messaging.js b/src/messaging.js index 57aa4ac339..9e9495337e 100644 --- a/src/messaging.js +++ b/src/messaging.js @@ -314,7 +314,6 @@ var db = require('./database'), }; function sendNotifications(fromuid, touid, messageObj, callback) { - // todo #1798 -- this should check if the user is in room `chat_{uidA}_{uidB}` instead, see `Sockets.uidInRoom(uid, room);` if (!websockets.isUserOnline(touid)) { notifications.create({ bodyShort: '[[notifications:new_message_from, ' + messageObj.fromUser.username + ']]', diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 79d54ef1d0..89073218ee 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -130,7 +130,7 @@ Sockets.init = function(server) { socket.on('disconnect', function() { var socketCount = Sockets.getUserSocketCount(socket.uid); console.log('DISCONNECT', socket.uid, socket.id); - if (socket.uid && socketCount <= 1) { + if (socket.uid && socketCount <= 0) { socket.broadcast.emit('event:user_status_change', {uid: socket.uid, status: 'offline'}); } @@ -221,84 +221,70 @@ Sockets.in = function(room) { return io.sockets.in(room); }; -Sockets.uidInRoom = function(uid, room) { - return false; - - var userSocketIds = io.sockets.manager.rooms['/uid_' + uid]; - if (!Array.isArray(userSocketIds) || !userSocketIds.length) { - return false; - } - - var roomSocketIds = io.sockets.manager.rooms['/' + room]; - if (!Array.isArray(roomSocketIds) || !roomSocketIds.length) { - return false; - } - - for (var i=0; i