CluPilotCloud/app/Livewire
nexxo eff8c08258 feat(admin): maintenance windows — schedule once, assign many hosts, notify
- maintenance_windows + host pivot + notification ledger; derived state (never
  stored); affected-customer + banner queries live off instances
- admin /maintenance: create draft/publish, multi-host select, impact counts,
  cancel; capability-gated (maintenance.manage)
- publish emails affected customers once (queued Mailable, ledger-idempotent)
- customer portal maintenance banner (upcoming <=72h + active) merged per window

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 15:53:50 +02:00
..
Admin feat(admin): maintenance windows — schedule once, assign many hosts, notify 2026-07-25 15:53:50 +02:00
Auth feat(portal): Fortify auth + Login/2FA/Dashboard + component kit 2026-07-25 01:20:25 +02:00
Concerns feat(engine-b): live provisioning progress (admin console + customer dashboard) 2026-07-25 11:57:35 +02:00
Backups.php feat(portal): service framing + gradient line charts + billing button fix 2026-07-25 14:18:08 +02:00
Billing.php feat(portal): service framing + gradient line charts + billing button fix 2026-07-25 14:18:08 +02:00
Cloud.php feat(portal): service framing + gradient line charts + billing button fix 2026-07-25 14:18:08 +02:00
ConfirmCancelPackage.php fix(portal): cancel the active instance explicitly, not just the newest record 2026-07-25 14:48:57 +02:00
ConfirmCloseAccount.php fix(portal): allow closure after failed provisioning; serialize last-owner guard 2026-07-25 15:02:37 +02:00
CustomerProvisioning.php fix(engine-b): stop customer dashboard polling once provisioning failed 2026-07-25 13:06:31 +02:00
Dashboard.php feat(dashboard): rich overview with Chart.js (customer-portal template) 2026-07-25 07:59:19 +02:00
Invoices.php feat(portal): service framing + gradient line charts + billing button fix 2026-07-25 14:18:08 +02:00
Settings.php fix(portal): delete old logo only after the branding update commits 2026-07-25 15:04:27 +02:00
Support.php feat(portal): full sidebar — Cloud, Users, Backups, Invoices, Support 2026-07-25 08:08:33 +02:00
Users.php fix(portal): allow closure after failed provisioning; serialize last-owner guard 2026-07-25 15:02:37 +02:00