v0.9.1
Added
- Opt-in System WebView auto-update — a new "WebView auto-update" switch (off by default; shown only where ha-paneld pins a recommended WebView for the panel) keeps the system WebView on that pinned build, installing a newer one over root on the update check. Note that the first swap between two different WebView vendors on a signature-locked panel is still a one-time manual step — see the panel's hardware guide.
- Dashboard sizing matches the Companion app — the built-in renderer now scales the page the same way the Home Assistant Companion app does, so a panel switched over from the Companion keeps its dashboard layout instead of rendering more compact. A new "Dashboard zoom" setting tunes it per panel (100% = Companion default); pinch-to-zoom stays off, since a fixed panel wants a deliberate zoom, not an accidental one. Switching a panel to the built-in renderer also carries over the zoom you had chosen in the Companion app's "Page zoom" setting — and on a rooted panel, if the zoom isn't 100%, ha-paneld points you at the panel display-density control (a crisper way to size the dashboard) with a one-tap reset.
- "App Configuration" in the dashboard sidebar — the built-in renderer now adds the same sidebar entry the Companion app does; tapping it opens ha-paneld's own configuration page on the panel.
- Panel-appropriate defaults on first run — a panel running the built-in renderer now starts with the sidebar hidden and background connections kept alive (so it stays responsive when idle), values most people never think to set. These are applied once and remain changeable afterwards.
Changed
- TPA10-class panels now recommend LineageOS WebView 150 instead of Cromite. LineageOS is a newer, maintained, vanilla-Chromium build that — unlike Cromite — leaves autoplay enabled, so Home Assistant camera-card (WebRTC) streams start without a tap. Cromite remains available as a fallback.
- The built-in renderer no longer bounces on overscroll — dragging past the top or bottom of the dashboard used to show Android's elastic stretch (or edge glow on older panels), which looks out of place on a wall panel that rarely scrolls, so it is now off by default. A
dashboard_overscrollsetting restores the native effect for anyone who wants it (settable over the API). - Smoother LED effect animations — the pulse (breathing) effect now runs at a higher frame rate along a smooth curve, so it glides rather than steps, and no longer flashes white at the dim end of each breath.
Fixed
- The soft navbar no longer swallows taps at the bottom of the built-in renderer — in "Swipe reveal" mode ha-paneld armed a full-width overlay strip that consumed every touch in the bottom ~48dp band (re-injecting non-swipe taps via a slow root call, and dropping them entirely on panels without root). The built-in renderer now detects the reveal swipe within the dashboard activity instead, so taps and scrolls at the bottom edge reach the dashboard with no latency, while a genuine upward edge-swipe still reveals the bar.
- Pull-to-refresh no longer fires from a drag inside the dashboard — the built-in renderer's refresh gesture now arms only for a drag that starts at the very top edge of the screen and pulls down into it. Previously any downward drag on the dashboard content could trigger it, because the Home Assistant frontend scrolls inside the page and the stock gesture check therefore always believed the view was at the top. Scrolling views and dragging card controls now never start a refresh, regardless of scroll position. (#29)
- LED effects now stop reliably — an effect (strobe, blink or pulse) stops the moment the light is turned off or the effect is changed. Previously an effect could keep running after the light was turned off, and occasionally get stuck flashing until the app was restarted. (#16)
Full Changelog: v0.9.0...v0.9.1