homeos/app/Jobs
HomeOS Bootstrap 449533b60d fix: preserve raw input value on role/invert change; strict isOnline (R15)
Codex R15 on the previous fix:
- [P2] reclassifyInput derived the raw input level from the already-displayed
  (inverted) contact state, so toggling inversion twice didn't restore the
  original. The ingest + device page now carry the raw `on` inside the contact
  state, so flipping role/inversion is fully reversible. +1 round-trip test.
- Latent: Device::isOnline() could return null (null demo, no last_seen) and
  break the type hint / views. Now returns a strict bool.

Suite 58 green, 12/12 tabs clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:03:00 +02:00
..
Concerns feat(addons): Ring backend bridge — ring-mqtt ingest, cloud devices, badge 2026-07-18 01:58:40 +02:00
IngestDiscoveryMessage.php Fix R15: Shelly prefix from mDNS instance, discovery broadcast once, targeted confirm 2026-07-18 00:34:56 +02:00
IngestRingMessage.php fix(addons): atomic Ring device creation + invalidate ingest gate cache (R15) 2026-07-18 02:01:45 +02:00
IngestShellyMessage.php fix: preserve raw input value on role/invert change; strict isOnline (R15) 2026-07-18 09:03:00 +02:00