github rorygallagher2024/glasshouse v0.6.0

latest releases: v0.122.1, v0.122.0, v0.121.0...
one month ago

Fixed

  • Sets with no thermal sensor reported 0 °C. webOS 3.x exposes no temperature source at all, and that null was pushed into the history ring where Math.min/max coerce it to zero — so a sensorless set showed a confident 0 °C and a permanent MIN 0 MAX 0. Reported and fixed by @Molotovsk in #15. It also affected every set for the first ~80 seconds after a reboot, while the sensor is still warming up.
  • The server could freeze and stay frozen. A child process deadlocking between fork and exec left the event loop blocked inside libuv's spawn path: the process stayed alive, the port stayed open, nothing was logged, and the dashboard and MQTT both went dead until someone noticed. The server now writes a heartbeat and a watchdog restarts it when that stops, recording why in tvweb.restarts.
  • eMMC wear claimed >90% (Healthy) when the wear counters could not be read at all. It reports unknown now, as does a pre_eol_info outside the spec's 0x01–0x03.
  • Entities that can never have a value are withheld rather than sitting at unknown in Home Assistant — SoC temperature and flash wear/health, joining the ambient light and OLED-only entities.

Changed

  • Far fewer process spawns. Every Luna read is a fork+exec, and stats collection made ten per pass against a 2s dashboard tick that never hit its own cache. Reads are cached by how fast each value actually moves, and the HDMI and Processes panels load on open instead of polling. Measured on a B8: 162 spawns in 30s before, 34 after.
  • The dashboard handles absent readings. The temperature hero drops to an ordinary size when there is no number instead of rendering a dash at 208px, and a section whose readings have all gone is dropped rather than leaving a heading over blank space.
  • The compatibility table carries a Notes column, since what differs between sets is rarely pass or fail.

Tested on OLED65B8SLC (webOS 4.4.3), OLED65C9AUA (4.9.x), OLED55C1PUB (6.x), OLED55G42LW (24), OLED65B7V-Z (3.9.3) and 55UH6030-UC (3.4.3, LCD).

Known issue, fixed in v0.6.1: waking from standby suspends the watchdog along with everything else, so it sees a stale heartbeat on resume and restarts the server unnecessarily. Harmless — a few seconds, then it reconnects — but it will show up in tvweb.restarts.

Don't miss a new glasshouse release

NewReleases is sending notifications on new releases.