v1.5.3
Two community contributions and one measured answer.
Pop-up overlays — by @deespater (#88)
Small wall panels are cramped: on a 480×480 panel there is no room for every control at once. A Buttons widget can now work as a pop-up — sit hidden over the view, appear on a tap, fire its action and close itself again:
- Hidden widgets are click-through. The wrapper used to swallow taps even though nothing was visible, so a hidden panel blocked whatever sat beneath it. Fixed — and this fix helps every layout that hides widgets, pop-ups or not.
- A button can hide its own widget after acting (with an optional delay), and a tap outside the buttons closes the overlay.
All new options default to off; existing layouts behave exactly as before. The wiki's Stacking and visibility page gained a pop-ups section.
Custom modules can use hooks again — reported, diagnosed and fixed by @stephenneal (#87)
Any custom module calling ctx.useState (or any other hook) crashed with React error #310. The module rendered inline inside the host widget, so its hooks landed on the host's hook list — which changed length the moment the bundle finished loading. Modules now render as their own component, and a module that throws shows the error in its own tile instead of taking the view down.
High CPU on an idle dashboard (#86)
Measured, not guessed: an idle view was costing about a third of a CPU core, and the cause is the wallpaper timer ring — a smooth sweep keeps the browser drawing for the whole interval. Not the frosted-glass blur (switching all of it off changed nothing), and not a JavaScript loop (the profiler shows 97.9 % idle).
The ring stays smooth — that is how it is supposed to look. But the switch that turns it off (Wallpaper → Anzeige → Ladekreis (Timer) anzeigen) now says what it saves, and the wiki gained a troubleshooting entry for "the fan spins up". Measured: 37 % with the ring, 2 % without.
Also
- The Home Assistant add-on's status tile now says connected — it looked for a token, and the add-on deliberately has none because the Supervisor provides the connection.
Upgrade: curl -fsSL https://raw.githubusercontent.com/jeremiaa/magic-frame/main/deploy/install.sh | bash — add-on users: add-on store → Reload → Update.