fix: #13094, update unread chats on reconnect

unread topics and notifications were updated on reconnections, added chats as well
convert function to async added awaits
This commit is contained in:
Barış Soner Uşaklı
2025-03-09 12:03:09 -04:00
parent 6b9f166cb8
commit 1e6c6f4e44
3 changed files with 12 additions and 15 deletions

View File

@@ -18,9 +18,6 @@ module.exports = function (Messaging) {
uids = [uids];
}
uids = uids.filter(uid => parseInt(uid, 10) > 0);
if (!uids.length) {
return;
}
uids.forEach((uid) => {
io.in(`uid_${uid}`).emit('event:unread.updateChatCount', data);
});

View File

@@ -6,20 +6,23 @@ const user = require('../user');
const meta = require('../meta');
const topics = require('../topics');
const privileges = require('../privileges');
const messaging = require('../messaging');
const SocketMeta = module.exports;
SocketMeta.rooms = {};
SocketMeta.reconnected = function (socket, data, callback) {
callback = callback || function () {};
if (socket.uid) {
topics.pushUnreadCount(socket.uid);
user.notifications.pushCount(socket.uid);
SocketMeta.reconnected = async function (socket) {
if (socket.uid > 0) {
await Promise.all([
topics.pushUnreadCount(socket.uid),
user.notifications.pushCount(socket.uid),
messaging.pushUnreadCount(socket.uid),
]);
}
callback(null, {
return {
'cache-buster': meta.config['cache-buster'],
hostname: os.hostname(),
});
};
};
/* Rooms */

View File

@@ -269,12 +269,9 @@ describe('socket.io', () => {
});
});
it('should push unread notifications on reconnect', (done) => {
it('should push unread notifications/chats on reconnect', async () => {
const socketMeta = require('../src/socket.io/meta');
socketMeta.reconnected({ uid: 1 }, {}, (err) => {
assert.ifError(err);
done();
});
await socketMeta.reconnected({ uid: 1 }, {});
});