CluPilotCloud/app
nexxo 5aef5e693c
tests / pest (push) Successful in 6m52s Details
tests / assets (push) Successful in 20s Details
tests / release (push) Has been skipped Details
fix(billing): verification vouches for a value, not for a row
A timestamp alone said "some number was checked once": editing the field left
it intact, so a customer could swap a verified foreign VAT ID for any
plausible-looking one and keep zero-VAT pricing. The verified value is stored
and compared, which makes the rule self-enforcing — no writer has to remember
to clear a flag, and there are several writers.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 09:34:40 +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): VAT follows the customer, not a global setting 2026-07-26 09:30:17 +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 fix(billing): verification vouches for a value, not for a row 2026-07-26 09:34:40 +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 fix(billing): verification vouches for a value, not for a row 2026-07-26 09:34:40 +02:00
Support feat(traffic): meter the monthly allowance, show it, throttle instead of blocking 2026-07-25 23:33:47 +02:00