From bdbde88fed0e54acdeba665e51f2fd03a7452130 Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Wed, 23 Feb 2022 01:36:48 -0500 Subject: [PATCH] PadMessageHandler: Fix `USER_CHANGES` queue identifier `message.padId` is normally undefined for `USER_CHANGES` messages. --- CHANGELOG.md | 7 +++++++ src/node/handler/PadMessageHandler.js | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd9618e28..547b57bc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ (not yet released) +### Notable enhancements and fixes + +* Fixed a bug that caused all pad edit messages received at the server to go + through a single queue. Now there is a separate queue per pad as intended, + which should reduce message processing latency when many pads are active at + the same time. + # 1.8.16 ### Security fixes diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 0735ce97f..542a63711 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -296,7 +296,7 @@ exports.handleMessage = async (socket, message) => { messageLogger.warn('Dropped message, COLLABROOM for readonly pad'); } else if (message.data.type === 'USER_CHANGES') { stats.counter('pendingEdits').inc(); - await padChannels.enqueue(message.padId, {socket, message}); + await padChannels.enqueue(thisSession.padId, {socket, message}); } else if (message.data.type === 'USERINFO_UPDATE') { await handleUserInfoUpdate(socket, message); } else if (message.data.type === 'CHAT_MESSAGE') {