From efc80e9b0b98aec97c8e69b1cdd08030abde5d42 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 17 Jan 2026 20:12:15 +0000 Subject: [PATCH 1/2] Initial plan From 145715e16e1c9afa4d0e107c57350679aad8db50 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 17 Jan 2026 20:16:33 +0000 Subject: [PATCH 2/2] refactor: Update redis v4 to v5 breaking changes Co-authored-by: mtrezza <5673677+mtrezza@users.noreply.github.com> --- spec/RedisPubSub.spec.js | 2 -- src/Adapters/Cache/RedisCacheAdapter.js | 2 +- src/Adapters/PubSub/RedisPubSub.js | 2 -- src/LiveQuery/ParseLiveQueryServer.ts | 4 ++-- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/spec/RedisPubSub.spec.js b/spec/RedisPubSub.spec.js index 868e590740..1ff4de27dc 100644 --- a/spec/RedisPubSub.spec.js +++ b/spec/RedisPubSub.spec.js @@ -21,7 +21,6 @@ describe('RedisPubSub', function () { expect(redis.createClient).toHaveBeenCalledWith({ url: 'redisAddress', socket_keepalive: true, - no_ready_check: true, }); }); @@ -35,7 +34,6 @@ describe('RedisPubSub', function () { expect(redis.createClient).toHaveBeenCalledWith({ url: 'redisAddress', socket_keepalive: true, - no_ready_check: true, }); }); diff --git a/src/Adapters/Cache/RedisCacheAdapter.js b/src/Adapters/Cache/RedisCacheAdapter.js index 779bd573e4..7acab7fecf 100644 --- a/src/Adapters/Cache/RedisCacheAdapter.js +++ b/src/Adapters/Cache/RedisCacheAdapter.js @@ -35,7 +35,7 @@ export class RedisCacheAdapter { return; } try { - await this.client.quit(); + await this.client.close(); } catch (err) { logger.error('RedisCacheAdapter error on shutdown', { error: err }); } diff --git a/src/Adapters/PubSub/RedisPubSub.js b/src/Adapters/PubSub/RedisPubSub.js index 65671592c6..d7d714f1b2 100644 --- a/src/Adapters/PubSub/RedisPubSub.js +++ b/src/Adapters/PubSub/RedisPubSub.js @@ -2,7 +2,6 @@ import { createClient } from 'redis'; import { logger } from '../../logger'; function createPublisher({ redisURL, redisOptions = {} }): any { - redisOptions.no_ready_check = true; const client = createClient({ url: redisURL, ...redisOptions }); client.on('error', err => { logger.error('RedisPubSub Publisher client error', { error: err }) }); client.on('connect', () => {}); @@ -12,7 +11,6 @@ function createPublisher({ redisURL, redisOptions = {} }): any { } function createSubscriber({ redisURL, redisOptions = {} }): any { - redisOptions.no_ready_check = true; const client = createClient({ url: redisURL, ...redisOptions }); client.on('error', err => { logger.error('RedisPubSub Subscriber client error', { error: err }) }); client.on('connect', () => {}); diff --git a/src/LiveQuery/ParseLiveQueryServer.ts b/src/LiveQuery/ParseLiveQueryServer.ts index 3e6048c345..ee9eb6a209 100644 --- a/src/LiveQuery/ParseLiveQueryServer.ts +++ b/src/LiveQuery/ParseLiveQueryServer.ts @@ -109,9 +109,9 @@ class ParseLiveQueryServer { this.subscriber.close?.(), ]); } - if (typeof this.subscriber.quit === 'function') { + if (typeof this.subscriber.close === 'function') { try { - await this.subscriber.quit(); + await this.subscriber.close(); } catch (err) { logger.error('PubSubAdapter error on shutdown', { error: err }); }