Last user activity now marked on humie-friendly page-loads and last-socket disconnects, ensuring accurate 'online' status when disconnected from a channel.

This commit is contained in:
rainbow napkin 2025-09-17 20:17:41 -04:00
parent 6222535c47
commit 6445950f90
7 changed files with 99 additions and 2 deletions

View file

@ -24,6 +24,7 @@ const {userModel} = require('../../schemas/user/userSchema');
const userBanModel = require('../../schemas/user/userBanSchema');
const loggerUtils = require('../../utils/loggerUtils');
const csrfUtils = require('../../utils/csrfUtils');
const presenceUtils = require('../../utils/presenceUtils');
const activeChannel = require('./activeChannel');
const chatHandler = require('./chatHandler');
@ -259,7 +260,7 @@ class channelManager{
/**
* Handles a disconnection event for a single active user within a given channel (when all sockets disconnect)
* @param {*} userObj
* @param {connectedUser} userObj - Connected user object to handle disconnection of
*/
handleUserDisconnect(userObj){
//Create array to hold
@ -282,6 +283,9 @@ class channelManager{
}else{
//Delete the user from the status map
this.activeUsers.delete(userObj.user);
//Mark last disconnection as user activity, as they'll no longer be marked as streaming.
presenceUtils.handlePresence(userObj.user);
}
}