From fd72a287b72d36e532a05692cad491c6349db2c5 Mon Sep 17 00:00:00 2001 From: leibale Date: Tue, 28 Dec 2021 20:21:51 -0500 Subject: [PATCH] fix #1798 - temp fix for __redis__:invalidate null messages --- packages/client/lib/client/commands-queue.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/client/lib/client/commands-queue.ts b/packages/client/lib/client/commands-queue.ts index e716dcd3a2..3505ef8fa7 100644 --- a/packages/client/lib/client/commands-queue.ts +++ b/packages/client/lib/client/commands-queue.ts @@ -71,7 +71,7 @@ export default class RedisCommandsQueue { } static #emitPubSubMessage(listenersMap: PubSubListenersMap, message: Buffer, channel: Buffer, pattern?: Buffer): void { - const keyString = (pattern || channel).toString(), + const keyString = (pattern ?? channel).toString(), listeners = listenersMap.get(keyString); if (!listeners) return; @@ -82,7 +82,9 @@ export default class RedisCommandsQueue { if (!listeners.strings.size) return; - const messageString = message.toString(), + // https://github.com/redis/redis/pull/7469 + // https://github.com/redis/redis/issues/7463 + const messageString = (Array.isArray(message) ? message.map(m => m.toString()) as any : message.toString()), channelString = pattern ? channel.toString() : keyString; for (const listener of listeners.strings) { listener(messageString, channelString);