Skip to content

v5.0.4

Choose a tag to compare

@kdinya kdinya released this 21 Aug 22:32
· 9 commits to main since this release

This release was originally published with a changelog describing fixes that had not actually been committed yet β€” the tag pointed at v5.0.3's code under a v5.0.4 label. That has been corrected: the tag now points at the commit that actually contains all of this.

Fixed

  • Pipe seam: enlarging the pipes or using different valve_scale_* vs. pipes_scale_* values could leave a visible unfilled stretch of pipe between the water and the valve body. The two pipe halves are now defined to always meet exactly at the canvas's horizontal center (_pipeSplitX()) instead of a measured (and occasionally mismatched) valve position β€” no seam possible at any scale.
  • Water/lever timing sync: the water fill/drain animation used a fixed speed independent of toggle_lock_ms, so it could finish several seconds before the valve-lever (which does honor toggle_lock_ms) finished rotating. Water speed is now derived from the same toggle_lock_ms, so both finish together.
  • Valve/header overlap + rotation flash: the valve graphic scaled via a paint-only CSS transform, which didn't reserve the right layout space, causing overlap with the header and a one-frame oversized flash after rotation depending on phone orientation. Now scales via actual rendered width instead.
  • Leak sensor clipping on small screens/short card_min_height β€” icon/text now size with clamp() off each block's own rendered size instead of fixed pixel values.
  • "Closed at" timestamp accuracy: previously fell back to "just now" on a fresh browser with no cached value, even if the valve had actually been closed long before. Now reads the entity's own last_changed from Home Assistant as the source of truth.

Added

  • btn_opening / btn_closing β€” optional button text shown only while the valve is actively opening/closing, separate from the resting btn_open/btn_close.
  • A small dependency-free unit test suite (tests/, npm test) covering config migration, valve-state resolution, and the toggle-timing/pipe-split math.

See the README changelog for full history.