From f31fa1520c2fe007dd47474268ea274bc2906866 Mon Sep 17 00:00:00 2001 From: ANDREY KHASANOV Date: Tue, 3 May 2022 11:54:17 +0300 Subject: [PATCH] fix: subscriptions array leak (#1248) --- packages/vue-apollo-option/src/dollar-apollo.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/vue-apollo-option/src/dollar-apollo.js b/packages/vue-apollo-option/src/dollar-apollo.js index e6c1e59..c164652 100644 --- a/packages/vue-apollo-option/src/dollar-apollo.js +++ b/packages/vue-apollo-option/src/dollar-apollo.js @@ -148,7 +148,13 @@ export class DollarApollo { smart.autostart() if (options.linkedQuery) { - options.linkedQuery._linkedSubscriptions.push(smart) + // prevent subscriptions leak on fetching query with another parameters + const index = options.linkedQuery._linkedSubscriptions.findIndex(x => x.key === key) + if (index !== -1) { + options.linkedQuery._linkedSubscriptions[index] = smart + } else { + options.linkedQuery._linkedSubscriptions.push(smart) + } } return smart