..
Admin
fix(admin): the admin password is shown once, and means it
2026-07-26 05:34:57 +02:00
Auth
fix(auth): throttle Fortify endpoints (registration had no limiter — signup-spam guard)
2026-07-25 18:38:44 +02:00
Billing
fix(billing): no plan changes after cancellation, no unknown terms
2026-07-26 09:57:53 +02:00
Provisioning
fix(hosts): re-read the host before deciding there is no DNS record
2026-07-26 00:02:18 +02:00
BillingTest.php
feat(portal): billing page — current plan, upgrades, extra storage, add-ons
2026-07-25 13:36:52 +02:00
CartTest.php
fix(billing): normalise both sides of the VAT comparison; cast the timestamp
2026-07-26 09:36:07 +02:00
ComponentTest.php
feat(portal): Fortify auth + Login/2FA/Dashboard + component kit
2026-07-25 01:20:25 +02:00
DashboardTest.php
feat(portal): Fortify auth + Login/2FA/Dashboard + component kit
2026-07-25 01:20:25 +02:00
ExampleTest.php
chore: bootstrap CluPilot control-plane (Laravel 13, Docker stack)
2026-07-25 00:21:30 +02:00
ImpersonationTest.php
fix(admin): harden impersonation + datacenter code per Codex review
2026-07-25 13:50:16 +02:00
OperatorInPortalTest.php
fix(portal): no silent no-ops without a customer; maintenance visible per instance; maintenance form redesign
2026-07-25 19:10:44 +02:00
PortalTabsTest.php
feat(portal): bind the cloud card to the real instance (plan/seats/domain/quota) so the maintenance badge matches it
2026-07-25 19:14:42 +02:00
PublicSiteGateTest.php
fix(traffic): release the throttle at month end; close the Livewire bypass
2026-07-25 23:36:38 +02:00
SeatsTest.php
feat(portal): seats management — invite/role/revoke against plan limit
2026-07-25 14:40:18 +02:00
SettingsTest.php
fix(portal): enforce customer lifecycle per Codex review
2026-07-25 14:45:03 +02:00
TrafficTest.php
fix(traffic): a sample without counters is not zero traffic
2026-07-25 23:44:02 +02:00
WelcomeTest.php
feat(landing): public marketing homepage at / (+ legal placeholders)
2026-07-25 08:59:39 +02:00