diff --git a/public/src/client/users.js b/public/src/client/users.js index 5572c05cb1..eaa9467a00 100644 --- a/public/src/client/users.js +++ b/public/src/client/users.js @@ -173,16 +173,13 @@ define('forum/users', ['translator'], function(translator) { function onUserStatusChange(data) { var section = getActiveSection(); + if ((section.startsWith('online') || section.startsWith('users'))) { updateUser(data); } } function updateUser(data) { - if (data.status === 'offline') { - return; - } - app.updateUserStatus($('#users-container [data-uid="' + data.uid +'"] [component="user/status"]'), data.status); } diff --git a/src/socket.io/user.js b/src/socket.io/user.js index dffed2730f..3005d42c7d 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -29,9 +29,9 @@ SocketUser.deleteAccount = function(socket, data, callback) { if (err || isAdmin) { return callback(err || new Error('[[error:cant-delete-admin]]')); } - - user.deleteAccount(socket.uid, callback); + socket.broadcast.emit('event:user_status_change', {uid: socket.uid, status: 'offline'}); + user.deleteAccount(socket.uid, callback); }); } };