From 970d27d9a13965bc4adc9e35c9397c2188de4330 Mon Sep 17 00:00:00 2001 From: Abdur Raheem <91405474+Nyx-abu@users.noreply.github.com> Date: Sun, 12 Jul 2026 18:19:09 +0530 Subject: [PATCH] fix(live): resolve variable shadowing in unsubscribe callback filtering The inner filter parameter 'callback' shadowed the outer 'callback' argument in the unsubscribe functions. This caused 'callback !== callback' to always evaluate to false, meaning all callbacks were inadvertently unsubscribed when attempting to remove a single listener. Changing the inner parameter to 'cb' correctly preserves the other active listeners. --- packages/pglite/src/live/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/pglite/src/live/index.ts b/packages/pglite/src/live/index.ts index e4a2e5940..ca65f2cb8 100644 --- a/packages/pglite/src/live/index.ts +++ b/packages/pglite/src/live/index.ts @@ -240,7 +240,7 @@ const setup = async (pg: PGliteInterface, _emscriptenOpts: any) => { // If there are no callbacks, unsubscribe from the notify triggers const unsubscribe = async (callback?: (results: Results) => void) => { if (callback) { - callbacks = callbacks.filter((callback) => callback !== callback) + callbacks = callbacks.filter((cb) => cb !== callback) } else { callbacks = [] } @@ -503,7 +503,7 @@ const setup = async (pg: PGliteInterface, _emscriptenOpts: any) => { callback?: (changes: Array>) => void, ) => { if (callback) { - callbacks = callbacks.filter((callback) => callback !== callback) + callbacks = callbacks.filter((cb) => cb !== callback) } else { callbacks = [] } @@ -663,7 +663,7 @@ const setup = async (pg: PGliteInterface, _emscriptenOpts: any) => { const unsubscribe = async (callback?: (results: Results) => void) => { if (callback) { - callbacks = callbacks.filter((callback) => callback !== callback) + callbacks = callbacks.filter((cb) => cb !== callback) } else { callbacks = [] }