Fix: guard typeof process en supabase.ts para no romper hidratación
Sin este guard el bundle de browser (islands que importan browserClient) evalúa process.env al importar el módulo y revienta con ReferenceError, tumbando la hidratación de PerfilForm y MaterialForm. En producción esto provocaba que los botones "Guardar" hicieran submit nativo del <form> sin action, cayendo en /login en vez de disparar el endpoint. El orden process → import.meta.env se mantiene para el server (necesario por el fix de Docker que no expone .env.production durante docker build). Bitácora: primera ronda de QA manual con agent-browser post v1.6. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+7
-3
@@ -4,9 +4,13 @@ import type { AstroCookies } from 'astro';
|
||||
|
||||
const SCHEMA = 'prestamos';
|
||||
|
||||
const SUPABASE_URL = process.env.PUBLIC_SUPABASE_URL ?? import.meta.env.PUBLIC_SUPABASE_URL;
|
||||
const SUPABASE_ANON_KEY = process.env.PUBLIC_SUPABASE_ANON_KEY ?? import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
|
||||
const SUPABASE_SERVICE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY ?? import.meta.env.SUPABASE_SERVICE_ROLE_KEY;
|
||||
// `process` no existe en el bundle de browser (islands con client:load que
|
||||
// importan browserClient) — hay que checar typeof antes de leerlo o revienta
|
||||
// la hidratación con "process is not defined" en vez de caer al fallback.
|
||||
const hasProcess = typeof process !== 'undefined';
|
||||
const SUPABASE_URL = (hasProcess ? process.env.PUBLIC_SUPABASE_URL : undefined) ?? import.meta.env.PUBLIC_SUPABASE_URL;
|
||||
const SUPABASE_ANON_KEY = (hasProcess ? process.env.PUBLIC_SUPABASE_ANON_KEY : undefined) ?? import.meta.env.PUBLIC_SUPABASE_ANON_KEY;
|
||||
const SUPABASE_SERVICE_KEY = (hasProcess ? process.env.SUPABASE_SERVICE_ROLE_KEY : undefined) ?? import.meta.env.SUPABASE_SERVICE_ROLE_KEY;
|
||||
|
||||
// ponytail: solo para preview local sin login. Bypass RLS con service_role.
|
||||
// Su uso queda tras un flag de DEV en el middleware.
|
||||
|
||||
Reference in New Issue
Block a user