From 1fa393c157d75d4ea5241df5f9e66b130c358fdf Mon Sep 17 00:00:00 2001 From: Marcos Reifonas Date: Wed, 19 Aug 2026 16:48:15 +0000 Subject: [PATCH] fix(auth): change .single() to .maybeSingle() for profile fetches to prevent 406 errors --- src/components/dashboard/UserInfo.tsx | 4 ++-- src/hooks/useInterfaceResources.tsx | 2 +- src/hooks/useUserResourcePermissions.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/dashboard/UserInfo.tsx b/src/components/dashboard/UserInfo.tsx index 83545db..66ac5a9 100644 --- a/src/components/dashboard/UserInfo.tsx +++ b/src/components/dashboard/UserInfo.tsx @@ -50,13 +50,13 @@ export function UserInfo() { .from('profiles') .select('full_name, email, profile_image_url') .eq('id', user.id) - .single(); + .maybeSingle(); if (!error && data) { setProfile(data); } else { setProfile({ - full_name: user.user_metadata?.full_name || null, + full_name: (user as any).name || (user as any).username || null, email: user.email || null, profile_image_url: null }); diff --git a/src/hooks/useInterfaceResources.tsx b/src/hooks/useInterfaceResources.tsx index 1a6d18d..1cdcd1c 100644 --- a/src/hooks/useInterfaceResources.tsx +++ b/src/hooks/useInterfaceResources.tsx @@ -209,7 +209,7 @@ export function useInterfaceResources() { .from('profiles') .select('privilege_id') .eq('id', userId) - .single(); + .maybeSingle(); if (profileError) throw profileError; diff --git a/src/hooks/useUserResourcePermissions.tsx b/src/hooks/useUserResourcePermissions.tsx index d360cdd..9f05f5c 100644 --- a/src/hooks/useUserResourcePermissions.tsx +++ b/src/hooks/useUserResourcePermissions.tsx @@ -70,7 +70,7 @@ export function useUserResourcePermissions(resourceKey: string) { .from('profiles') .select('email, full_name') .eq('id', permission.user_id) - .single(); + .maybeSingle(); return { user_id: permission.user_id, @@ -170,7 +170,7 @@ export function useUserResourcePermissions(resourceKey: string) { .from('profiles') .select('id, email') .eq('id', userId) - .single(); + .maybeSingle(); if (userError || !userExists) { console.error('User not found:', { userId, userError });