CluPilotCloud/app
nexxo 074b0c041b fix(portal): enforce customer lifecycle per Codex review
- EnsureCustomerActive middleware: suspended/closed customers lose portal
  access (admins + active impersonation exempt)
- cancellation: reject non-active instances; service-end anchored on the
  subscription start date, not calendar month-end

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 14:45:03 +02:00
..
Actions feat(portal): settings page — company profile, branding (logo+colors), cancel package, close account 2026-07-25 14:36:52 +02:00
Console feat(engine): orchestrator core (state machine + tick + lock) 2026-07-25 09:54:52 +02:00
Http fix(portal): enforce customer lifecycle per Codex review 2026-07-25 14:45:03 +02:00
Livewire fix(portal): enforce customer lifecycle per Codex review 2026-07-25 14:45:03 +02:00
Models feat(portal): settings page — company profile, branding (logo+colors), cancel package, close account 2026-07-25 14:36:52 +02:00
Notifications fix(engine-b): default-deny firewall, disk-based capacity, synchronous credential mail 2026-07-25 12:39:15 +02:00
Providers fix(engine-b): real backup/monitoring registration + OC_PASS scoping 2026-07-25 12:33:45 +02:00
Provisioning fix(engine-b): idempotent local DNS record (firstOrCreate on record_id) 2026-07-25 13:08:13 +02:00
Services fix(engine-b): clean re-clone on lost task ref; idempotent firewall rules 2026-07-25 13:04:48 +02:00