CluPilotCloud/resources/views
nexxo 556a560506 feat(vpn): explain a missing download, and offer a way out
An access created without storing its config had no download button and no
explanation — it looked broken. It now shows a dimmed button that says why
(the private key only exists on your device), and every staff access gets
"Re-issue": a new keypair, old key off the hub before the new one goes on,
so two peers never claim the same tunnel address at once. A stored config is
re-encrypted in step, or the owner would download a key the hub no longer
accepts.

Host peers are excluded: their key belongs to the machine's own wg0, and
swapping it here would cut the host off with nothing left to repair it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 01:20:04 +02:00
..
components/ui feat(vpn): explain a missing download, and offer a way out 2026-07-26 01:20:04 +02:00
errors feat(ops): update page, automatic 419 recovery, CI workflow 2026-07-26 00:58:27 +02:00
layouts fix(portal): move notices into the header, so the page stops scrolling twice 2026-07-26 00:13:20 +02:00
livewire feat(vpn): explain a missing download, and offer a way out 2026-07-26 01:20:04 +02:00
mail feat(admin): email affected customers when maintenance is cancelled (ledger-guarded) 2026-07-25 16:07:21 +02:00
vendor/wire-elements-modal fix(admin): no admin lockout (is_admin fallback); centered modal width; datacenter edit modal + country dropdown 2026-07-25 18:09:17 +02:00
coming-soon.blade.php feat(site): switch the public website and portal off from the console 2026-07-25 23:10:27 +02:00
landing.blade.php feat(brand): CluPilot logo mark + SVG favicon across layouts 2026-07-25 15:31:33 +02:00
legal.blade.php feat(landing): public marketing homepage at / (+ legal placeholders) 2026-07-25 08:59:39 +02:00
welcome.blade.php feat(portal): design foundation — Tailwind v3, tokens, self-hosted fonts 2026-07-25 00:43:01 +02:00