From b91c4790d15eccc684ee459e14a929a806995ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Tue, 29 Oct 2019 21:28:28 -0400 Subject: [PATCH] fix: dont show delete topics on unread --- src/topics/unread.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/topics/unread.js b/src/topics/unread.js index 2c793c4c9f..a71fdada11 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -123,7 +123,7 @@ module.exports = function (Topics) { }); tids = await privileges.topics.filterTids('topics:read', tids, params.uid); - const topicData = await Topics.getTopicsFields(tids, ['tid', 'cid', 'uid', 'postcount']); + const topicData = (await Topics.getTopicsFields(tids, ['tid', 'cid', 'uid', 'postcount', 'deleted'])).filter(t => !t.deleted); const topicCids = _.uniq(topicData.map(topic => topic.cid)).filter(Boolean); const categoryWatchState = await categories.getWatchState(topicCids, params.uid); @@ -258,11 +258,12 @@ module.exports = function (Topics) { return false; } const [topicScores, userScores] = await Promise.all([ - db.sortedSetScores('topics:recent', tids), + Topics.getTopicsFields(tids, ['tid', 'lastposttime']), db.sortedSetScores('uid:' + uid + ':tids_read', tids), ]); - tids = tids.filter((tid, index) => topicScores[index] && (!userScores[index] || userScores[index] < topicScores[index])); + tids = topicScores.filter((t, i) => t.lastposttime && (!userScores[i] || userScores[i] < t.lastposttime)) + .map(t => t.tid); if (!tids.length) { return false;