v0.2.1
Fixes
Time-zone popup never dismissed on mobile. iOS Safari and several Android browsers don't fire pointerleave on tap-and-release, so the popup got stuck on-screen until you tapped another region. The auto-dismiss is now also scheduled on pointerenter for touch events — popups self-clear after 2.5 s regardless of whether pointerleave ever fires. Tapping a different region cancels and re-arms the timer for the new popup.
Marker-only hover edge case. When the user had only ever interacted with location markers (no IANA polygons, no offset bands), hoverPos could remain set after the marker was dismissed. Leave handlers now consider all three layers when deciding whether to clear the position.
Live demo (geoclock.world) only — not in the HACS card
iOS fullscreen fallback. iOS Safari refuses Element.requestFullscreen() on anything but <video> tags, so the fullscreen button on geoclock.world was a silent no-op for iPhone / iPad users. Added a CSS-based pseudo-fullscreen path: page chrome hides, the map pins to the viewport. The browser URL bar still shows (no API can hide that from a regular web page) but the map fills the rest of the screen — close enough to wall-display mode for kiosk use. Esc exits on desktops.
This change is in docs/web/ and only affects the live demo, not the HACS-installed card.
Internal
- Deploy workflow now reads version via
jqinstead ofnode -pwith shell-escaped quotes — the latter silently produced an empty string and uploaded one batch of assets togeoclock-world/v/instead of/v0.2.0/. R2 paths now reliably trackpackage.json#version.
No breaking changes
Drop-in upgrade from v0.2.0. Same config schema, same defaults, same rendering — only the touch-event behaviour changes.
Full Changelog: v0.2.0...v0.2.1