clusev/app
boban f9a08a98d2 fix(ui): uniform action-element height + live fleet status / alerts
Two things the badge/live-update fixes missed:

Height — the enable/disable TOGGLES (Alerts, Servers, Commands, Settings)
were custom buttons at min-h-9 (36px) while x-btn / x-modal-trigger /
status-pill are h-8 (32px), so a status toggle never lined up with the
Delete/Create buttons next to it. Normalise those toggles to h-8.
Verified: Enabled/Delete/Create all render at 32px now.

Live — the topbar "X/Y online" pill and the sidebar server-switcher were
static Blade, so a server going up/down (shown live on the dashboard via
Reverb) didn't reach them until a navigate/refresh. Make the topbar pill
a small polled Livewire island (Shell\FleetStatus) and add wire:poll to
the server-switcher + the Alerts page, so fleet status and firing/
resolved incidents update live without a refresh.

(The alert e-mail is confirmed sending over SMTP — queued mail no longer
hits the log mailer, and a synchronous send to the admin returned SEND_OK
from mail.thinkidoo.com:587. Non-delivery is downstream: spam filtering
or missing SPF/DKIM for hello@clusev.com via that relay — a DNS/mail-
server config, not a panel code issue.)

750 tests; R12-verified (uniform heights, topbar is a live island, zero
console errors).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:42:09 +02:00
..
Console/Commands feat(alerts): threshold alerting + notifications (feature 2/8) 2026-07-05 20:07:54 +02:00
Enums feat(rbac): role enum + column + gates foundation (admin>operator>viewer) 2026-07-05 00:42:16 +02:00
Events fix(blade): garbled header on every signed-in page + private metrics channel (v0.4.1) 2026-06-14 08:34:07 +02:00
Exceptions perf/cleanup: one SSH round-trip for Docker, drop dead i18n, dedupe row 2026-07-06 20:06:27 +02:00
Http fix(ui): sidebar alert/threat badges update at once, not up to 60s late 2026-07-06 20:22:51 +02:00
Jobs feat: scaffold — Dockerized Laravel 13 + Livewire 3 + Tailwind 4 + Reverb 2026-06-12 00:31:50 +02:00
Livewire fix(ui): uniform action-element height + live fleet status / alerts 2026-07-06 20:42:09 +02:00
Mail feat(alerts): threshold alerting + notifications (feature 2/8) 2026-07-05 20:07:54 +02:00
Models fix(ui): sidebar alert/threat badges update at once, not up to 60s late 2026-07-06 20:22:51 +02:00
Notifications fix(security): constant-time password-reset (flatten account-enumeration timing) 2026-06-15 19:16:30 +02:00
Providers fix: alert mail on queue, SMTP reset, cert/uptime auto-probe, pill heights, XSS 2026-07-06 19:46:46 +02:00
Rules feat(auth): ValidIpOrCidr validation rule 2026-06-20 17:42:06 +02:00
Services fix(ui): sidebar alert/threat badges update at once, not up to 60s late 2026-07-06 20:22:51 +02:00
Support feat(docker): show the Clusev host's own containers (host target) 2026-07-05 22:43:36 +02:00