From 8dd6452a54aeefdc95fc657f0faf9f95f4fe624e Mon Sep 17 00:00:00 2001 From: Christopher Anciaux Date: Thu, 26 Mar 2026 16:12:08 +0100 Subject: [PATCH 1/2] fix: remove stale data listener explicitly on socket error --- packages/client/lib/client/socket.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/client/lib/client/socket.ts b/packages/client/lib/client/socket.ts index ab8e9992b66..c0e0efe5a37 100644 --- a/packages/client/lib/client/socket.ts +++ b/packages/client/lib/client/socket.ts @@ -311,8 +311,13 @@ export default class RedisSocket extends EventEmitter { #onSocketError(err: Error): void { const wasReady = this.#isReady; this.#isReady = false; + const socket = this.#socket; + this.#socket = undefined; this.emit('error', err); + socket?.removeAllListeners('data'); + socket?.destroy(); + if (!wasReady || !this.#isOpen || typeof this.#shouldReconnect(0, err) !== 'number') return; this.emit('reconnecting'); From c6b6288e827f28cb03396cfaa2300bd135a9b2b7 Mon Sep 17 00:00:00 2001 From: Christopher Anciaux Date: Fri, 27 Mar 2026 09:29:51 +0100 Subject: [PATCH 2/2] handle Cursor review --- packages/client/lib/client/socket.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/lib/client/socket.ts b/packages/client/lib/client/socket.ts index c0e0efe5a37..3841b2cefc4 100644 --- a/packages/client/lib/client/socket.ts +++ b/packages/client/lib/client/socket.ts @@ -230,7 +230,7 @@ export default class RedisSocket extends EventEmitter { continue; } } catch (err) { - this.#socket.destroy(); + this.#socket?.destroy(); this.#socket = undefined; throw err; }