mark chat room notifs read on load

This commit is contained in:
Barış Soner Uşaklı
2023-07-21 16:19:26 -04:00
parent 2792d77104
commit 4f3f9d9891
5 changed files with 22 additions and 29 deletions

View File

@@ -6,7 +6,6 @@ const db = require('../database');
const user = require('../user');
const meta = require('../meta');
const messaging = require('../messaging');
const notifications = require('../notifications');
const plugins = require('../plugins');
const privileges = require('../privileges');
@@ -152,27 +151,10 @@ chatsAPI.mark = async (caller, data) => {
} else {
await messaging.markRead(caller.uid, roomId);
socketHelpers.emitToUids('event:chats.markedAsRead', { roomId: roomId }, [caller.uid]);
const isUserInRoom = await messaging.isUserInRoom(caller.uid, roomId);
if (!isUserInRoom) {
return;
}
let chatNids = await db.getSortedSetScan({
key: `uid:${caller.uid}:notifications:unread`,
match: `chat_*`,
});
chatNids = chatNids.filter(
nid => nid && !nid.startsWith(`chat_${caller.uid}_`) && nid.endsWith(`_${roomId}`)
);
await notifications.markReadMultiple(chatNids, caller.uid);
await user.notifications.pushCount(caller.uid);
}
socketHelpers.emitToUids('event:chats.mark', { roomId, state }, [caller.uid]);
messaging.pushUnreadCount(caller.uid);
return messaging.loadRoom(caller.uid, { roomId });
};
chatsAPI.users = async (caller, data) => {