Big UX pass. Highlights:
Added
- "Never received data" activity filter and a dashed-grey "No data" state pill — spot entities that exist in the registry but whose integration has never pushed a value. Handy for culling dead entities from integrations like FoxESS after hardware changes.
- Mobile-responsive layout — 56px app bar with a hamburger that opens the sidebar, filters collapse to a single "Filters" button with an active-count badge, entity table hides secondary columns with the entity ID shown inline under the name, action bar is a clean 2×2 grid.
- Version footer —
v0.2.0 · built <time>line at the bottom of the panel in your local timezone, so you can always verify which build is loaded. - Custom dropdown component replacing native
<select>in dialogs and the filter bar. Fixes two WKWebView bugs in the iOS/macOS HA apps: picking an option no longer closes the parent modal, and the dropdown reopens correctly after a selection. - Clear (×) button inside the filter search input.
Changed
- Panel styling matches HA native pages — uses
--app-header-*,--ha-card-*, and--primary-background-colortheme variables so the panel inherits whichever theme the user has set. - Filter bar collapse breakpoint raised to 1440px. Below that, the 5 dropdowns crowd each other; they now collapse to a single Filters button until there's genuinely room for them inline.
- Asset URL cache-bust — the panel JS is served through a dynamic HTTP view that sets
Cache-Control: no-cache+ anETagderived from the bundle's mtime, so dropping a new bundle over Samba and hard-refreshing Just Works without an HA restart.
Fixed
- Selecting an option in a native
<select>inside a modal no longer closes the whole modal (macOS + iOS). - Rename dialog's prefix/suffix text field no longer balloons to 180px tall.
- Entity table rows align cleanly even with long entity IDs.
Upgrade notes: no breaking changes. Minimum HA version is still 2026.3.0.