fix(sprint-5/etapa-4b): library useEffect usa user.id no user ref — corta contención processLock en guardar perfil
Some checks failed
/ Deploy to Cloudflare Pages (push) Has been cancelled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 00:57:16 -03:00
parent 224b3bc5e7
commit dd361b1b12
2 changed files with 2 additions and 7 deletions

View File

@@ -18,8 +18,6 @@ export function ProfileSheet({ open, onOpenChange }: ProfileSheetProps) {
const [company, setCompany] = useState('') const [company, setCompany] = useState('')
const [saving, setSaving] = useState(false) const [saving, setSaving] = useState(false)
console.log('[ProfileSheet] render — open:', open, 'saving:', saving, 'user.name:', user?.name)
useEffect(() => { useEffect(() => {
if (open && user) { if (open && user) {
setName(user.name) setName(user.name)
@@ -32,7 +30,6 @@ export function ProfileSheet({ open, onOpenChange }: ProfileSheetProps) {
async function handleSave() { async function handleSave() {
if (!user || !name.trim()) return if (!user || !name.trim()) return
console.log('[ProfileSheet] saveProfile start — name:', name.trim(), 'company:', company.trim())
setSaving(true) setSaving(true)
try { try {
const { error } = await supabase const { error } = await supabase
@@ -40,12 +37,10 @@ export function ProfileSheet({ open, onOpenChange }: ProfileSheetProps) {
.update({ name: name.trim(), company: company.trim() || null }) .update({ name: name.trim(), company: company.trim() || null })
.eq('id', user.id) .eq('id', user.id)
if (error) throw error if (error) throw error
console.log('[ProfileSheet] DB updated')
updateUser({ name: name.trim(), company: company.trim() || undefined }) updateUser({ name: name.trim(), company: company.trim() || undefined })
console.log('[ProfileSheet] local state updated')
onOpenChange(false) onOpenChange(false)
} catch (err) { } catch (err) {
console.error('[ProfileSheet] Error al guardar perfil:', err) console.error('Error al guardar perfil:', err)
} finally { } finally {
setSaving(false) setSaving(false)
} }

View File

@@ -757,7 +757,7 @@ export function LibraryPage() {
useEffect(() => { useEffect(() => {
if (!user) return // no fetchear hasta tener usuario confirmado (evita race condition con sesión Supabase) if (!user) return // no fetchear hasta tener usuario confirmado (evita race condition con sesión Supabase)
load() load()
}, [load, user]) }, [load, user?.id])
function navigateToGroup(groupId: string | null) { function navigateToGroup(groupId: string | null) {
setTransitioning(true) setTransitioning(true)