mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: dont add deleted users to users:online
dont set their lastonline field
This commit is contained in:
@@ -10,9 +10,9 @@ module.exports = function (User) {
|
|||||||
if (!(parseInt(uid, 10) > 0)) {
|
if (!(parseInt(uid, 10) > 0)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const userData = await db.getObjectFields(`user:${uid}`, ['status', 'lastonline']);
|
const userData = await db.getObjectFields(`user:${uid}`, ['userslug', 'status', 'lastonline']);
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
if (userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
|
if (!userData.userslug || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await User.setUserField(uid, 'lastonline', now);
|
await User.setUserField(uid, 'lastonline', now);
|
||||||
@@ -22,9 +22,12 @@ module.exports = function (User) {
|
|||||||
if (!(parseInt(uid, 10) > 0)) {
|
if (!(parseInt(uid, 10) > 0)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const [exists, userOnlineTime] = await Promise.all([
|
||||||
|
User.exists(uid),
|
||||||
|
db.sortedSetScore('users:online', uid),
|
||||||
|
]);
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
const userOnlineTime = await db.sortedSetScore('users:online', uid);
|
if (!exists || (now - parseInt(userOnlineTime, 10) < 300000)) {
|
||||||
if (now - parseInt(userOnlineTime, 10) < 300000) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await User.onUserOnline(uid, now);
|
await User.onUserOnline(uid, now);
|
||||||
|
|||||||
Reference in New Issue
Block a user