diff --git a/src/lib/supabase/client.ts b/src/lib/supabase/client.ts index c253136..1b7e5cc 100644 --- a/src/lib/supabase/client.ts +++ b/src/lib/supabase/client.ts @@ -1,7 +1,6 @@ -import { createClient as createSupabaseClient } from '@supabase/supabase-js'; +import { createBrowserClient } from '@supabase/ssr'; import type { SupabaseClient } from '@supabase/supabase-js'; -// Use globalThis to persist across HMR reloads in development const globalForSupabase = globalThis as typeof globalThis & { supabaseBrowserClient?: SupabaseClient; }; @@ -11,19 +10,9 @@ export function createClient() { return globalForSupabase.supabaseBrowserClient; } - // Use supabase-js directly with isSingleton to suppress the warning - globalForSupabase.supabaseBrowserClient = createSupabaseClient( + globalForSupabase.supabaseBrowserClient = createBrowserClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, - process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, - { - auth: { - // Suppress "Multiple GoTrueClient instances" warning - // This is safe because we use a singleton pattern - storageKey: 'sb-auth-token', - persistSession: true, - detectSessionInUrl: true, - }, - } + process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY! ); return globalForSupabase.supabaseBrowserClient; diff --git a/src/proxy.ts b/src/proxy.ts index 11c1e39..7bc73f9 100644 --- a/src/proxy.ts +++ b/src/proxy.ts @@ -33,9 +33,16 @@ export async function proxy(request: NextRequest) { } ); + // Debug: Log all cookies + const url = new URL(request.url); + const allCookies = request.cookies.getAll(); + const sbCookies = allCookies.filter(c => c.name.startsWith('sb-')); + if (!url.pathname.startsWith('/_next') && !url.pathname.includes('.')) { + console.log('[Proxy] Cookies:', sbCookies.map(c => `${c.name}=${c.value.slice(0, 20)}...`)); + } + const { data: { user } } = await supabase.auth.getUser(); - const url = new URL(request.url); const isStatic = url.pathname.startsWith('/_next') || url.pathname.includes('/icon-') || url.pathname === '/favicon.ico'; if (!isStatic) { diff --git a/src/services/split-actions.ts b/src/services/split-actions.ts index 0f0198f..9d57446 100644 --- a/src/services/split-actions.ts +++ b/src/services/split-actions.ts @@ -73,7 +73,8 @@ export async function createSplit(data: CreateSplitData): Promise<{ const supabase = await createClient(); try { - const { data: { user } } = await supabase.auth.getUser(); + const { data: { user }, error: authError } = await supabase.auth.getUser(); + console.log('[createSplit] Auth result:', { userId: user?.id, authError }); if (!user) { return { success: false, error: 'Nicht autorisiert' }; }