From 27ce96ca1e49226193430745017064009310b7bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Ben=C3=ADtez?= Date: Sat, 20 Jun 2026 22:19:20 +0000 Subject: [PATCH] =?UTF-8?q?fix(sprint-5):=20AbortSignal.timeout(8s)=20en?= =?UTF-8?q?=20fetch=20de=20ProfileSheet=20=E2=80=94=20evita=20freeze=20por?= =?UTF-8?q?=20modal=20bloqueada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ProfileSheet.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/ProfileSheet.tsx b/src/components/ProfileSheet.tsx index 1842e7c..4211365 100644 --- a/src/components/ProfileSheet.tsx +++ b/src/components/ProfileSheet.tsx @@ -72,6 +72,10 @@ export function ProfileSheet({ open, onOpenChange }: ProfileSheetProps) { name: name.trim(), company: company.trim() || null, }), + // Timeout de 8s: si Supabase no responde (cold start, red lenta, etc.), + // el catch muestra un mensaje de error y libera el botón. + // Sin esto, la modal queda abierta indefinidamente bloqueando todo el UI. + signal: AbortSignal.timeout(8000), } )