diff --git a/public/src/app.js b/public/src/app.js index 854957b7aa..837403d906 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -77,6 +77,8 @@ var socket, } app.enterRoom(room, true); + socket.emit('reconnected'); + setTimeout(function() { reconnectEl.removeClass('active'); }, 3000); diff --git a/src/user.js b/src/user.js index 7291971eb3..bfd8f47826 100644 --- a/src/user.js +++ b/src/user.js @@ -867,7 +867,6 @@ var bcrypt = require('bcrypt'), User.pushNotifCount = function(uid) { User.notifications.getUnreadCount(uid, function(err, count) { - console.log('unread count is', count); if (!err) { websockets.in('uid_' + uid).emit('event:notifications.updateCount', count); } else { diff --git a/src/websockets.js b/src/websockets.js index 338b054cfd..892b111c81 100644 --- a/src/websockets.js +++ b/src/websockets.js @@ -135,6 +135,21 @@ websockets.init = function(io) { } }); + socket.on('reconnected', function() { + if (uid) { + topics.pushUnreadCount(uid); + user.pushNotifCount(uid); + } + + if (process.env.NODE_ENV === 'development') { + if (uid) { + winston.info('[socket] uid ' + uid + ' (' + sessionID + ') has successfully reconnected.'); + } else { + winston.info('[socket] An anonymous user (' + sessionID + ') has successfully reconnected.'); + } + } + }); + socket.on('api:get_all_rooms', function(data) { socket.emit('api:get_all_rooms', io.sockets.manager.rooms); });