← All tests

Admin Cpanel on staging STAGING

The internal NIX Cpanel (super-admin — tenant provisioning, subscriptions, impersonation) had no staging surface: it only existed at prod admin.nixtech.app pointed at prod api.nixtech.app. It's now stood up at admin.staging.nixtech.app, wired to the Fly staging backend + Neon nix_db_staging. Same user-facing URL as prod; real super-admin login works end to end.

How. Built the admin (nix-OS-cpanel) with a new .env.staging (VITE_API_BASE_URL=https://api.staging.nixtech.app) into a direct-upload Pages project nix-outdoor-sales-admin-staging. The prod router lists admin as a passthrough (its own DNS); staging has only the *.staging.nixtech.app wildcard, so the staging router now proxies the admin subdomain to that Pages project instead of passthrough — no new DNS record needed.

Login page

Admin cpanel login on staging
The cpanel login rendering at admin.staging.nixtech.app/login, served through the staging router → the staging admin Pages project.

Logged-in Overview

Admin cpanel overview on staging after login
After a real super-admin login (admin@nixoutdoor.com), landing on the /overview dashboard — POST api.staging.nixtech.app/admin/auth/login returned 200 with a super_admin token.

Bug found & fixed en route

vue-i18n "Invalid linked format" crash. The login page rendered blank: two en.json placeholders held a literal @ (admin@nixoutdoor.com, owner@company.com), which vue-i18n parses as its linked-message char and throws on. Prod survives only because its deployed bundle predates those strings (confirmed — the prod bundle doesn't contain them), so the next prod admin deploy would break identically. Fixed by escaping to {'@'} (vue-i18n literal syntax). Committed on dev — a real prod-relevant fix for a future promote.

Checks

admin.staging.nixtech.app/ and /loginHTTP 200
SPA renders (email input present, zero console errors) after the i18n fixpass
Real UI login admin@nixoutdoor.com → lands on /overview200, super_admin
App calls the staging API, not prodapi.staging.nixtech.app
Staging smoke regression (router change didn't break cafe/commerce/outdoor)5/5

Notes

nix-OS-cpanel dev 7a29a9e (i18n fix 272c023 + .env.staging). Pages nix-outdoor-sales-admin-staging + staging router redeploy. No migration.