Environment
- UIX v8.0.0 (HACS integration, config entry added; startup banner logs
💡 UIX 8.0.0 IS INSTALLED 💡)
- Home Assistant Core 2026.8.1
- card-mod fully removed (no
extra_module_url entry, no lovelace resource; no window.card_mod_patch_state conflict)
- Dashboards are YAML mode; observed on Fully Kiosk (Android WebView) wall panels and desktop Chrome
Summary
A large working config (~123 card_mod: card blocks across two dashboards, plus three themes using card-mod-theme: / card-mod-card-yaml: / card-mod-root-yaml:) renders perfectly through UIX's legacy-key compatibility path.
Mechanically renaming the keys to the native dialect — card_mod: → uix: on cards, card-mod-theme: → uix-theme:, card-mod-<thing>(-yaml): → uix-<thing>(-yaml): in themes, with no other changes (identical inner style: content) — results in no styles being injected at all on a cold page load. <uix-node> elements still attach inside each styled card's shadow root, but their styles property stays empty indefinitely (well beyond the normal async-resolution window), and cards render at natural size.
Reverting only the key names restores injection immediately.
Example block (works as card_mod:, does not inject as uix:)
- type: custom:mini-media-player
entity: media_player.living_room
artwork: full-cover
uix: # works when this key is spelled card_mod:
style: |
ha-card {
height: 620px;
}
Under uix: the card renders at its natural ~116px; under card_mod: it renders at the injected 620px.
Reproduction / verification method
A/B tested by deploying each dialect and cold-reloading the same Fully Kiosk wall panel (browser_mod.refresh), with frontend.reload_themes + hard refresh after each theme change:
- Legacy keys deployed → cold reload → all styles injected, layout correct.
- Same config, keys renamed to native dialect → cold reload → zero injection, all styled cards collapsed/unstyled.
- Legacy keys restored → cold reload → correct again.
Card keys and theme keys were renamed together, so I can't isolate which of the two native paths fails (possibly both). Affected cards include core cards (tile, markdown, horizontal-stack) and custom cards (mini-media-player, stack-in-card).
Expected
Per the FAQ ("drop-in replacement for Card-mod versions up to 4.2.1", users "encouraged to update to use uix: in your cards and uix-<thing>(-yaml) for your themes"), the native keys should inject identically to the legacy keys.
Happy to provide the full dashboard/theme YAML or debug output if useful.
Environment
💡 UIX 8.0.0 IS INSTALLED 💡)extra_module_urlentry, no lovelace resource; nowindow.card_mod_patch_stateconflict)Summary
A large working config (~123
card_mod:card blocks across two dashboards, plus three themes usingcard-mod-theme:/card-mod-card-yaml:/card-mod-root-yaml:) renders perfectly through UIX's legacy-key compatibility path.Mechanically renaming the keys to the native dialect —
card_mod:→uix:on cards,card-mod-theme:→uix-theme:,card-mod-<thing>(-yaml):→uix-<thing>(-yaml):in themes, with no other changes (identical innerstyle:content) — results in no styles being injected at all on a cold page load.<uix-node>elements still attach inside each styled card's shadow root, but theirstylesproperty stays empty indefinitely (well beyond the normal async-resolution window), and cards render at natural size.Reverting only the key names restores injection immediately.
Example block (works as
card_mod:, does not inject asuix:)Under
uix:the card renders at its natural ~116px; undercard_mod:it renders at the injected 620px.Reproduction / verification method
A/B tested by deploying each dialect and cold-reloading the same Fully Kiosk wall panel (
browser_mod.refresh), withfrontend.reload_themes+ hard refresh after each theme change:Card keys and theme keys were renamed together, so I can't isolate which of the two native paths fails (possibly both). Affected cards include core cards (tile, markdown, horizontal-stack) and custom cards (mini-media-player, stack-in-card).
Expected
Per the FAQ ("drop-in replacement for Card-mod versions up to 4.2.1", users "encouraged to update to use
uix:in your cards anduix-<thing>(-yaml)for your themes"), the native keys should inject identically to the legacy keys.Happy to provide the full dashboard/theme YAML or debug output if useful.