feat: keep notifs for one month, load 50 notifications instead of 30

v1.18.x
Barış Soner Uşaklı 4 years ago
parent 2674de01dd
commit 02f08111cf

@ -318,8 +318,8 @@ Notifications.markAllRead = async function (uid) {
};
Notifications.prune = async function () {
const week = 604800000;
const cutoffTime = Date.now() - week;
const month = 2592000000;
const cutoffTime = Date.now() - month;
const nids = await db.getSortedSetRangeByScore('notifications', 0, 500, '-inf', cutoffTime);
if (!nids.length) {
return;

@ -18,11 +18,11 @@ UserNotifications.get = async function (uid) {
return { read: [], unread: [] };
}
let unread = await getNotificationsFromSet(`uid:${uid}:notifications:unread`, uid, 0, 29);
let unread = await getNotificationsFromSet(`uid:${uid}:notifications:unread`, uid, 0, 49);
unread = unread.filter(Boolean);
let read = [];
if (unread.length < 30) {
read = await getNotificationsFromSet(`uid:${uid}:notifications:read`, uid, 0, 29 - unread.length);
if (unread.length < 50) {
read = await getNotificationsFromSet(`uid:${uid}:notifications:read`, uid, 0, 49 - unread.length);
}
return await plugins.hooks.fire('filter:user.notifications.get', {

Loading…
Cancel
Save