Refactor icon system to synchronous-first rendering
Full Changelog: 1.0.1...1.1.0
🎨 Custom Local Icons – Major stability and rendering update
This release introduces a significant improvement to the icon rendering model, making custom SVG icons behave consistently with Home Assistant’s native Material Design Icons (MDI) system.
✨ Improvements
⚡ MDI-like synchronous rendering model
Icons now resolve deterministically during render time, matching the behavior of built-in HA icons
Eliminates first-load inconsistencies in dashboards and UI frameworks
🔄 Background icon hydration
Icons are preloaded and cached in the background after initial discovery
Improves perceived performance while maintaining instant rendering behavior
🧠 Improved caching strategy
In-memory caching ensures icons are reused without repeated parsing or network requests
Reduces UI latency and improves dashboard responsiveness
🔒 Enhanced reliability across browsers
Improved consistency in Safari, Chrome, and other frontend environments
Fixes edge cases where icons could fail to render on first load but appear after reload
🌐 Stable UI integration
Better compatibility with Home Assistant frontend rendering and UI styling systems
Improved behavior in dynamic and templated dashboard environments
🛠️ Internal changes
Refactored icon resolution to avoid asynchronous rendering during UI evaluation
Introduced synchronous fallback rendering model with async background hydration
Improved SVG parsing stability and sanitization consistency
This update changes the internal rendering strategy to ensure icons are always available at render time. No configuration changes are required.