mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-26 16:46:12 +01:00 
			
		
		
		
	fix: tests, handle no sessions
This commit is contained in:
		| @@ -350,10 +350,12 @@ authenticationController.onSuccessfulLogin = async function (req, uid) { | |||||||
| 		}); | 		}); | ||||||
| 		await Promise.all([ | 		await Promise.all([ | ||||||
| 			user.auth.addSession(uid, req.sessionID), | 			user.auth.addSession(uid, req.sessionID), | ||||||
| 			(uid > 0) ?	db.setObjectField('uid:' + uid + ':sessionUUID:sessionId', uuid, req.sessionID) : null, |  | ||||||
| 			user.updateLastOnlineTime(uid), | 			user.updateLastOnlineTime(uid), | ||||||
| 			user.updateOnlineUsers(uid), | 			user.updateOnlineUsers(uid), | ||||||
| 		]); | 		]); | ||||||
|  | 		if (uid > 0) { | ||||||
|  | 			await db.setObjectField('uid:' + uid + ':sessionUUID:sessionId', uuid, req.sessionID); | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		// Force session check for all connected socket.io clients with the same session id | 		// Force session check for all connected socket.io clients with the same session id | ||||||
| 		sockets.in('sess_' + req.sessionID).emit('checkSession', uid); | 		sockets.in('sess_' + req.sessionID).emit('checkSession', uid); | ||||||
|   | |||||||
| @@ -82,6 +82,9 @@ module.exports = function (User) { | |||||||
|  |  | ||||||
| 	async function cleanExpiredSessions(uid) { | 	async function cleanExpiredSessions(uid) { | ||||||
| 		const uuidMapping = await db.getObject('uid:' + uid + ':sessionUUID:sessionId'); | 		const uuidMapping = await db.getObject('uid:' + uid + ':sessionUUID:sessionId'); | ||||||
|  | 		if (!uuidMapping) { | ||||||
|  | 			return; | ||||||
|  | 		} | ||||||
| 		const expiredUUIDs = []; | 		const expiredUUIDs = []; | ||||||
| 		const expiredSids = []; | 		const expiredSids = []; | ||||||
| 		await Promise.all(Object.keys(uuidMapping).map(async (uuid) => { | 		await Promise.all(Object.keys(uuidMapping).map(async (uuid) => { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user