CluPilotCloud/app
nexxo 9fab251fb3
tests / pest (push) Successful in 7m28s Details
tests / assets (push) Successful in 21s Details
tests / release (push) Has been skipped Details
fix(billing): make the one-plan-change rule hold under two clicks
Both requests could finish their delete before either inserted, leaving exactly
the two pending upgrades the rule exists to prevent. Replacement and insert now
run in one transaction with the customer row locked.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 09:25:29 +02:00
..
Actions fix(auth/admin): atomic user+customer signup; Rule::in for country validation (comma-safe) 2026-07-25 18:33:09 +02:00
Console feat(deploy): installer and updater for a fresh server 2026-07-25 23:13:24 +02:00
Http fix(traffic): release the throttle at month end; close the Livewire bypass 2026-07-25 23:36:38 +02:00
Livewire fix(billing): make the one-plan-change rule hold under two clicks 2026-07-26 09:25:29 +02:00
Mail fix(admin): confirm maintenance delivery via MessageSent (retryable until sent); guard resend/cancel on derived state; fix flaky non-unique host wg_ip 2026-07-25 16:14:01 +02:00
Models feat(billing): one plan change at a time, and every price says what it is 2026-07-26 09:23:49 +02:00
Notifications fix(engine-b): default-deny firewall, disk-based capacity, synchronous credential mail 2026-07-25 12:39:15 +02:00
Policies fix(vpn): losing the operator roles closes the owner doors by itself 2026-07-25 22:50:13 +02:00
Providers fix(security): close the Livewire bypass of the admin host restriction 2026-07-25 20:50:22 +02:00
Provisioning fix(admin): never reset a stranger's VM, never leave the console spinning 2026-07-26 05:32:53 +02:00
Services feat(admin): administrator access to a customer's Nextcloud 2026-07-26 05:30:59 +02:00
Support feat(traffic): meter the monthly allowance, show it, throttle instead of blocking 2026-07-25 23:33:47 +02:00