diff --git a/src/components/chat/project-chat.tsx b/src/components/chat/project-chat.tsx index 84ddbed..74d64b8 100644 --- a/src/components/chat/project-chat.tsx +++ b/src/components/chat/project-chat.tsx @@ -43,12 +43,15 @@ export function ProjectChat({ projectId, initialMessages }: ProjectChatProps) { }) } ) - .subscribe() + .subscribe((status) => { + console.log('Realtime subscription status:', status) + }) return () => { supabase.removeChannel(channel) } - }, [projectId, supabase]) + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [projectId]) // Scroll to bottom when messages change useEffect(() => { diff --git a/src/lib/supabase/client.ts b/src/lib/supabase/client.ts index 5ed7897..9165e07 100644 --- a/src/lib/supabase/client.ts +++ b/src/lib/supabase/client.ts @@ -1,9 +1,17 @@ import { createBrowserClient } from '@supabase/ssr' import type { Database } from '@/types/database' +let browserClient: ReturnType> | null = null + export function createClient() { - return createBrowserClient( + if (browserClient) { + return browserClient + } + + browserClient = createBrowserClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY! ) + + return browserClient }