homeos/app/Livewire
HomeOS Bootstrap 97dc49e577 fix: adversarial-review fixes + themed checkboxes
Multi-agent review of the feedback batch (7 confirmed):
- [P2] Low-battery sweep excluded a genuine 0% reading (`$pct > 0`) — a dead
  battery never alerted. Now `< 20` (missing reading still defaults to 100).
- [P2] SMTP encryption rule `required|in:,tls,ssl` rejected the "None" option it
  offered → unencrypted relays uncofigurable. Now `in:,tls,ssl`.
- [P2] Avatar preview called temporaryUrl() on any upload → 500 for HEIC/
  non-previewable files. Guarded with isPreviewable() + real-time
  updatedAvatar() validation for a friendly error.
- [P3] NotificationService::send() now catches transport errors so one SMTP
  failure can't abort a whole sweep / automation run.
- [P3] Mailer config is now purged (Mail::purge) so long-running Horizon workers
  pick up SMTP setting changes instead of reusing a cached mailer.
- [P3] Alert dedup TTL 1 day → 1 month, so a persistent outage mails once, not
  daily.
- User: themed .checkbox (accent, dark-surface, custom check) replaces the
  default browser checkbox in SMTP/automation/device modals.

+2 tests (0% battery alerts, no-encryption saves). Suite 84 green, 12/12 clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:48:22 +02:00
..
Addons feat(addons): installable integrations framework + Ring connect UI 2026-07-18 01:47:02 +02:00
Auth Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
Automations All sidebar tabs are real pages (zero console errors) 2026-07-18 00:16:16 +02:00
Concerns feat(ui): card layout replaces flat lists across the app 2026-07-18 08:32:01 +02:00
Devices feat(devices): instant toggle, icon picker, real update check, transport switch 2026-07-18 10:04:19 +02:00
Discovery feat(devices): auto-detect host IP, discovery dedup, delete + rescan 2026-07-18 09:34:07 +02:00
Modals fix: adversarial-review fixes + themed checkboxes 2026-07-18 10:48:22 +02:00
Persons feat(presence): who's-home overview, person edit/delete, avatars, faster away 2026-07-18 10:20:49 +02:00
Rooms feat(rooms): create + delete rooms (delete unassigns devices) 2026-07-18 10:12:49 +02:00
Settings feat(devices): auto-detect host IP, discovery dedup, delete + rescan 2026-07-18 09:34:07 +02:00
Access.php All sidebar tabs are real pages (zero console errors) 2026-07-18 00:16:16 +02:00
Dashboard.php feat(ui): card layout replaces flat lists across the app 2026-07-18 08:32:01 +02:00
Host.php Charts: Chart.js MQTT + host traffic on the Host page 2026-07-18 00:40:32 +02:00
Panel.php feat(panel): make tiles actually control + entity naming + reorder feedback 2026-07-18 08:37:17 +02:00
Windows.php Fenster & Türen page: contact/motion sensor overview 2026-07-18 00:07:44 +02:00