feat: change chat notification delivery

instead of checking if user is online in the past x minutes, check if the user has read the room, if they have already marked the chat as read don't send notification
This commit is contained in:
Barış Soner Uşaklı
2023-03-26 21:13:07 -04:00
parent 2a9b3ee464
commit 2c5a5bf366
2 changed files with 12 additions and 2 deletions

View File

@@ -57,8 +57,9 @@ module.exports = function (Messaging) {
};
async function sendNotifications(fromuid, uids, roomId, messageObj) {
const isOnline = await user.isOnline(uids);
uids = uids.filter((uid, index) => !isOnline[index] && parseInt(fromuid, 10) !== parseInt(uid, 10));
const hasRead = await Messaging.hasRead(uids, roomId);
uids = uids.filter((uid, index) => !hasRead[index] && parseInt(fromuid, 10) !== parseInt(uid, 10));
console.log('checking notif', uids, hasRead);
if (!uids.length) {
delete Messaging.notifyQueue[`${fromuid}:${roomId}`];
return;