From 700736535c87dc530a947d100c0ba8d4f4d550f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 30 Nov 2020 11:51:52 -0500 Subject: [PATCH] fix: guests dont always have sid --- src/api/topics.js | 4 ++-- src/socket.io/index.js | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/api/topics.js b/src/api/topics.js index 98b87c95b6..cca32a6818 100644 --- a/src/api/topics.js +++ b/src/api/topics.js @@ -75,8 +75,8 @@ topicsAPI.reply = async function (caller, data) { user.updateOnlineUsers(caller.uid); if (caller.uid) { socketHelpers.emitToUids('event:new_post', result, [caller.uid]); - } else if (caller.uid === 0 && caller.sessionID) { - websockets.in('sess_' + caller.sessionID).emit('event:new_post', result); + } else if (caller.uid === 0) { + websockets.in('online_guests').emit('event:new_post', result); } socketHelpers.notifyNew(caller.uid, 'newPost', result); diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 952595f57a..6e6be257ae 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -198,15 +198,13 @@ async function authorize(socket, callback) { } await cookieParserAsync(request); - const sid = request.signedCookies[nconf.get('sessionKey')]; - const sessionData = await getSessionAsync(sid); + const sessionData = await getSessionAsync(request.signedCookies[nconf.get('sessionKey')]); if (sessionData && sessionData.passport && sessionData.passport.user) { request.session = sessionData; socket.uid = parseInt(sessionData.passport.user, 10); } else { socket.uid = 0; } - socket.sessionID = sid; request.uid = socket.uid; callback(); }