Full Runtime Env Refactor
V-3.2.0252 — Full Runtime Env Refactor: Causa raíz: tras V-3.2.0251 quedaban lecturas directas de `process.env para SUPABASE_URL` y `process.env para SUPABASE_SERVICE_ROLE_KEY` en `src/integrations/supabase/client.server.ts` y en `auth-middleware.ts`. En el Worker de Wrangler local esas claves no siempre llegan a `process.env`, por lo que `getSupabaseAdmin()` lanzaba `legacy Supabase server env error` aunque `.dev.vars` estuviera presente. Fix: • `client.server.ts` y `auth-middleware.ts` ahora usan `getServerEnv` con fallback a `VITE_SUPABASE_URL` / `VITE_SUPABASE_PUBLISHABLE_KEY`. • `admin-settings.server.ts` (ENVIA_API_KEY, ENVIA_SANDBOX), `webhook-registration.server.ts` (PUBLIC_BASE_URL) y `email-templates.server.ts` (APP_URL, SUPPORT_EMAIL) migrados al helper. • Nuevo `logServerEnvSelfCheck()` en `runtime-env.server.ts`: al primer init del admin client imprime una línea por clave crítica con `present=true/false source=process|global|import.meta|missing`, sin revelar valores. • Auditoría final: `grep -R "process.env." src` solo retorna `runtime-env.server.ts`, `lib/updates.ts` y `client.ts` (browser). No toca: Dockerfile, Wrangler 3.114.14, `--assets ../client`, Traefik, docker-compose ni RLS.
Aspectos destacados
- Cero lecturas directas de process.env.* en código server/runtime
- Fallback automático a VITE_* cuando faltan claves SUPABASE_*
- Self-check de arranque con presencia y origen por clave (sin secretos)
- Sin cambios en Dockerfile, Wrangler ni Traefik