Skip to content

fix(kiosk): stop the pet freezing old iPads on the kiosk page - #1132

Merged
tempus2016 merged 1 commit into
mainfrom
fix/1126-kiosk-pet-relayout
Oct 25, 2026
Merged

tempus2016 merged 1 commit into
mainfrom
fix/1126-kiosk-pet-relayout

Conversation

@tempus2016

Copy link
Copy Markdown
Owner

Refs #1126 (kept open until the reporter confirms the beta on their iPad).

On the kiosk the idle countdown ring changes every second, and each change laid the whole card out again. Old iOS Safari (iPad on iOS 15.8) laid out and painted every inline SVG shape in the pet tile on each tick, which froze the page once a pet was on it. The reporter confirmed it is not the animations (Reduce Motion made no difference) and that the plain pet card works.

  • Pet card: the scene layers (background, pet, foreground, egg) are drawn as <img> elements with SVG data URLs, so a relayout no longer touches the pet's shapes. The animations stay on the HTML wrappers. It looks the same.
  • Kiosk card: the 40px countdown ring has contain: strict, so its per-second change stays inside the circle.

Tested: 1177 frontend tests pass, plus two new regression tests that fail on the old code. Old and new pets compared side by side in browserless (accessories, sleepy, legendary with home and egg) look identical. The real kiosk on ha-dev with this code has no inline SVG in the pet tile, and was checked at 375px and 768px.

The kiosk's idle countdown ring changes every second, and each change
laid the whole card out again. Old iOS Safari laid out and painted every
inline SVG shape in the pet tile each time, which froze the page once a
pet was on it (the plain pet card, with nothing ticking, was fine).

- The pet's scene layers are drawn as images (SVG data URIs), so a
  relayout no longer touches the pet's shapes. It looks the same.
- The countdown ring has strict containment, so its change stays inside
  its 40px circle.

Fixes #1126
@github-actions github-actions Bot added cards Lovelace cards / frontend (www/*.js) tests Test suite labels Oct 25, 2026
@tempus2016
tempus2016 merged commit 90a79fc into main Oct 25, 2026
16 checks passed
@tempus2016
tempus2016 deleted the fix/1126-kiosk-pet-relayout branch October 25, 2026 09:01
This was referenced Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cards Lovelace cards / frontend (www/*.js) tests Test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant