From c99848fe96bd93196882462b2d57aa77d34894a0 Mon Sep 17 00:00:00 2001 From: haraldox Date: Wed, 7 Feb 2018 16:24:01 +0100 Subject: [PATCH] fix(App): Bugfix Fix memory leak in recipe polling loop --- src/models/Service.js | 1 + src/stores/ServicesStore.js | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/models/Service.js b/src/models/Service.js index 423510c7d..bafb3f564 100644 --- a/src/models/Service.js +++ b/src/models/Service.js @@ -6,6 +6,7 @@ export default class Service { id = ''; recipe = ''; webview = null; + timer = null; events: {}; isAttached = false; diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 20e07e540..349a609a1 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js @@ -589,12 +589,16 @@ export default class ServicesStore extends Store { const delay = 1000; if (service) { + if (service.timer !== null) { + clearTimeout(service.timer) + } + const loop = () => { if (!service.webview) return; service.webview.send('poll'); - setTimeout(loop, delay); + service.timer = setTimeout(loop, delay); }; loop();