diff --git a/homeassistant-frontend b/homeassistant-frontend index 3ffbd435..f7e92b48 160000 --- a/homeassistant-frontend +++ b/homeassistant-frontend @@ -1 +1 @@ -Subproject commit 3ffbd435e0e5cf23872057187f3da53bb62441a2 +Subproject commit f7e92b484a487efc7c5b70963e68b3de14e2b6ed diff --git a/src/dashboards/hacs-dashboard.ts b/src/dashboards/hacs-dashboard.ts index a42c4bb4..a440554b 100644 --- a/src/dashboards/hacs-dashboard.ts +++ b/src/dashboards/hacs-dashboard.ts @@ -10,7 +10,7 @@ import { mdiInformation, mdiNewBox, } from "@mdi/js"; -import type { CSSResultGroup, TemplateResult } from "lit"; +import type { CSSResultGroup, PropertyValues, TemplateResult } from "lit"; import { LitElement, html, nothing } from "lit"; import { customElement, property, query, state } from "lit/decorators"; import memoize from "memoize-one"; @@ -39,7 +39,11 @@ import "../../homeassistant-frontend/src/components/ha-svg-icon"; import { PageNavigation } from "../../homeassistant-frontend/src/layouts/hass-tabs-subpage"; import { haStyle } from "../../homeassistant-frontend/src/resources/styles"; import type { HomeAssistant, Route } from "../../homeassistant-frontend/src/types"; -import { brandsUrl } from "../../homeassistant-frontend/src/util/brands-url"; +import { + brandsUrl, + clearBrandsTokenRefresh, + fetchAndScheduleBrandsAccessToken, +} from "../../homeassistant-frontend/src/util/brands-url"; import { showHacsCustomRepositoriesDialog, showHacsFormDialog, @@ -114,6 +118,16 @@ export class HacsDashboard extends LitElement { @state() private _overflowMenuRepository?: RepositoryBase; + protected firstUpdated(changedProps: PropertyValues): void { + super.firstUpdated(changedProps); + fetchAndScheduleBrandsAccessToken(this.hass); + } + + public disconnectedCallback(): void { + super.disconnectedCallback(); + clearBrandsTokenRefresh(); + } + protected render = (): TemplateResult | void => { const repositories = this._filterRepositories( this.hacs.repositories, @@ -330,7 +344,6 @@ export class HacsDashboard extends LitElement { src=${brandsUrl({ domain: repository.domain || "invalid", type: "icon", - useFallback: true, darkOptimized: this.hass.themes?.darkMode, })} referrerpolicy="no-referrer"