CluPilotCloud/app/Livewire/Admin
nexxo 164145463c
tests / pest (push) Failing after 7m15s Details
tests / assets (push) Successful in 21s Details
tests / release (push) Has been skipped Details
Send an operator with an expired session to sign in, not a 500
VpnConfigAccess::reveal() dereferenced Auth::guard('operator')->user()
unguarded, which is null when a modal's session has ended since it was
opened (a Livewire action reaches its component through /livewire/update
on its own, without the page's original route middleware). The same
unguarded pattern was in TwoFactorSetup, InstanceAdminAccess and Settings.

Add App\Livewire\Concerns\ResolvesOperator with currentOperator(), the one
place that resolves the operator and redirects to admin.login when there
isn't one, and use it everywhere the pattern occurred.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 18:09:22 +02:00
..
ConfirmDeleteDatacenter.php fix(admin): authorize datacenter modal mounts; stale threshold uses step maxDuration 2026-07-25 18:23:44 +02:00
ConfirmDeletePlanDraft.php feat(admin): a console for creating, pricing and scheduling plans 2026-07-26 12:41:51 +02:00
ConfirmDeleteVpnPeer.php feat(vpn): ownership, a Developer role, and password-gated config retrieval 2026-07-25 22:31:54 +02:00
ConfirmRemoveHost.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
Customers.php feat(billing): the plan catalogue becomes three tables, and config stops selling 2026-07-26 12:05:56 +02:00
Datacenters.php fix(datacenters): a code becomes a DNS label, so validate it as one 2026-07-25 23:56:50 +02:00
EditDatacenter.php Let people change their own password, and a location be switched off while editing it 2026-07-27 07:49:07 +02:00
HostCreate.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
HostDetail.php feat(admin): staff RBAC (spatie) + admin settings page 2026-07-25 15:47:42 +02:00
Hosts.php feat(admin): scalable host list (search/filter/health) + host detail redesign 2026-07-25 14:27:53 +02:00
InstanceAdminAccess.php Send an operator with an expired session to sign in, not a 500 2026-07-28 18:09:22 +02:00
Instances.php Report the estate from the database, and print the traffic that is sold 2026-07-27 04:48:51 +02:00
Mail.php Confirm a console password against the console's own record 2026-07-28 11:17:34 +02:00
Maintenance.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
Overview.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
PlanVersions.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
Plans.php feat(admin): a console for creating, pricing and scheduling plans 2026-07-26 12:41:51 +02:00
Provisioning.php fix(admin): authorize datacenter modal mounts; stale threshold uses step maxDuration 2026-07-25 18:23:44 +02:00
Revenue.php Show times on the operator's clock, keep storing them in UTC 2026-07-27 17:32:21 +02:00
Secrets.php Confirm a console password against the console's own record 2026-07-28 11:17:34 +02:00
Settings.php Send an operator with an expired session to sign in, not a 500 2026-07-28 18:09:22 +02:00
TwoFactorSetup.php Send an operator with an expired session to sign in, not a 500 2026-07-28 18:09:22 +02:00
Vpn.php Move the console's identity out of the customer table 2026-07-28 10:31:43 +02:00
VpnConfigAccess.php Send an operator with an expired session to sign in, not a 500 2026-07-28 18:09:22 +02:00