From f53b4fda62a3ff62ff13988b306a126d4cbd8cfe Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Fri, 17 Nov 2017 14:16:26 +0100 Subject: remove webview from memory when disabled --- src/models/Service.js | 10 +++++++++- src/stores/ServicesStore.js | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/models/Service.js b/src/models/Service.js index dc53807f7..fc89f81b8 100644 --- a/src/models/Service.js +++ b/src/models/Service.js @@ -1,4 +1,4 @@ -import { computed, observable } from 'mobx'; +import { computed, observable, autorun } from 'mobx'; import path from 'path'; import normalizeUrl from 'normalize-url'; @@ -55,6 +55,14 @@ export default class Service { ? data.isIndirectMessageBadgeEnabled : this.isIndirectMessageBadgeEnabled; this.recipe = recipe; + + autorun(() => { + if (!this.isEnabled) { + this.webview = null; + this.unreadDirectMessageCount = 0; + this.unreadIndirectMessageCount = 0; + } + }); } @computed get url() { diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 6c41c22cf..76e2e538b 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js @@ -512,6 +512,8 @@ export default class ServicesStore extends Store { if (service) { const loop = () => { + if (!service.webview) return; + service.webview.send('poll'); setTimeout(loop, delay); -- cgit v1.2.3-54-g00ecf