From 18996535b73b9c0fb65522b6782aef0072a9ccf1 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 5 Jul 2021 11:05:49 +0200 Subject: [PATCH] Fix race in translations loading (#9499) --- src/state/translations-mixin.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/state/translations-mixin.ts b/src/state/translations-mixin.ts index 7e0ee332f2..e8fbed6413 100644 --- a/src/state/translations-mixin.ts +++ b/src/state/translations-mixin.ts @@ -126,7 +126,7 @@ export default >(superClass: T) => this._applyTranslations(this.hass!); } - protected panelUrlChanged(newPanelUrl) { + protected panelUrlChanged(newPanelUrl: string) { super.panelUrlChanged(newPanelUrl); // this may be triggered before hassConnected this._loadFragmentTranslations( @@ -339,13 +339,16 @@ export default >(superClass: T) => ...data, }, }; - const changes: Partial = { - resources, - localize: await computeLocalize(this, language, resources), - }; + + // Update resources immediately, so when a new update comes in we don't miss values + this._updateHass({ resources }); + + const localize = await computeLocalize(this, language, resources); if (language === (this.hass ?? this._pendingHass).language) { - this._updateHass(changes); + this._updateHass({ + localize, + }); } }