From 6df0352e97b8b96adc218bf715c62a62a7690b31 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:18:03 +0000 Subject: [PATCH 1/2] Initial plan From 728e693b248b462579ad90aafd928275ebc5eb50 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:24:20 +0000 Subject: [PATCH 2/2] Replace placeholder credentials with fail-fast error throwing Co-authored-by: jomzxc <74537369+jomzxc@users.noreply.github.com> --- lib/supabase/client.ts | 15 ++++++++------- lib/supabase/middleware.ts | 10 ++++++---- lib/supabase/server.ts | 13 ++++++++----- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/lib/supabase/client.ts b/lib/supabase/client.ts index 75438fe..0d28efb 100644 --- a/lib/supabase/client.ts +++ b/lib/supabase/client.ts @@ -1,17 +1,18 @@ import { createBrowserClient } from "@supabase/ssr" export function createClient() { - const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || "" - const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || "" + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL + const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY if (!supabaseUrl || !supabaseAnonKey) { - // During build time or when env vars are missing, return a mock client - // This prevents build failures while still allowing the app to function - console.warn("Supabase environment variables are not set. Using placeholder values.") + throw new Error( + "Missing Supabase environment variables. " + + "Please set NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY in your environment." + ) } return createBrowserClient( - supabaseUrl || "https://placeholder.supabase.co", - supabaseAnonKey || "placeholder-anon-key" + supabaseUrl, + supabaseAnonKey ) } diff --git a/lib/supabase/middleware.ts b/lib/supabase/middleware.ts index 18869e7..348ef56 100644 --- a/lib/supabase/middleware.ts +++ b/lib/supabase/middleware.ts @@ -6,12 +6,14 @@ export async function updateSession(request: NextRequest) { request, }) - const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || "" - const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || "" + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL + const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY if (!supabaseUrl || !supabaseAnonKey) { - // If env vars are not set, just pass through without auth check - return supabaseResponse + throw new Error( + "Missing Supabase environment variables. " + + "Please set NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY in your environment." + ) } const supabase = createServerClient( diff --git a/lib/supabase/server.ts b/lib/supabase/server.ts index 24cbd4c..c1bf617 100644 --- a/lib/supabase/server.ts +++ b/lib/supabase/server.ts @@ -4,16 +4,19 @@ import { cookies } from "next/headers" export async function createClient() { const cookieStore = await cookies() - const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL || "" - const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || "" + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL + const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY if (!supabaseUrl || !supabaseAnonKey) { - console.warn("Supabase environment variables are not set. Using placeholder values.") + throw new Error( + "Missing Supabase environment variables. " + + "Please set NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY in your environment." + ) } return createServerClient( - supabaseUrl || "https://placeholder.supabase.co", - supabaseAnonKey || "placeholder-anon-key", + supabaseUrl, + supabaseAnonKey, { cookies: { getAll() {