From b1cde8308f15f8103b0e9cfb498d6c8ba9a7bcb1 Mon Sep 17 00:00:00 2001 From: Radek Czemerys <7029942+radko93@users.noreply.github.com> Date: Tue, 25 Aug 2020 17:36:01 +0200 Subject: [PATCH] fix: unsubscribe streamItems on deinit (#453) --- app/assets/javascripts/services/preferencesManager.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/services/preferencesManager.ts b/app/assets/javascripts/services/preferencesManager.ts index e70b4df026a..88336b284b3 100644 --- a/app/assets/javascripts/services/preferencesManager.ts +++ b/app/assets/javascripts/services/preferencesManager.ts @@ -13,6 +13,7 @@ export class PreferencesManager extends ApplicationService { private userPreferences!: SNUserPrefs private loadingPrefs = false; + private unubscribeStreamItems?: () => void; /** @override */ async onAppLaunch() { @@ -20,13 +21,17 @@ export class PreferencesManager extends ApplicationService { this.reloadSingleton(); this.streamPreferences(); } + + deinit() { + this.unubscribeStreamItems && this.unubscribeStreamItems(); + } get webApplication() { return this.application as WebApplication; } streamPreferences() { - this.application!.streamItems( + this.unubscribeStreamItems = this.application!.streamItems( ContentType.UserPrefs, () => { this.reloadSingleton();