diff --git a/apps/desktop/electron.vite.config.ts b/apps/desktop/electron.vite.config.ts index 3c982a6f925..ee3ba2b302f 100644 --- a/apps/desktop/electron.vite.config.ts +++ b/apps/desktop/electron.vite.config.ts @@ -58,6 +58,18 @@ export default defineConfig({ "process.env.NODE_ENV": JSON.stringify( process.env.NODE_ENV || "production", ), + // API URLs - baked in at build time for main process + "process.env.NEXT_PUBLIC_API_URL": JSON.stringify( + process.env.NEXT_PUBLIC_API_URL || "https://api.superset.sh", + ), + "process.env.NEXT_PUBLIC_WEB_URL": JSON.stringify( + process.env.NEXT_PUBLIC_WEB_URL || "https://app.superset.sh", + ), + // OAuth client IDs - baked in at build time for main process + "process.env.GOOGLE_CLIENT_ID": JSON.stringify( + process.env.GOOGLE_CLIENT_ID, + ), + "process.env.GH_CLIENT_ID": JSON.stringify(process.env.GH_CLIENT_ID), }, build: { diff --git a/apps/desktop/src/main/env.main.ts b/apps/desktop/src/main/env.main.ts index 9004408af65..6f8bc42dd94 100644 --- a/apps/desktop/src/main/env.main.ts +++ b/apps/desktop/src/main/env.main.ts @@ -22,7 +22,13 @@ export const env = createEnv({ runtimeEnv: { ...process.env, + // Explicitly list env vars so Vite can replace them at build time + // (spreading process.env only works at runtime, not for bundled apps) NODE_ENV: process.env.NODE_ENV, + NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, + NEXT_PUBLIC_WEB_URL: process.env.NEXT_PUBLIC_WEB_URL, + GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID, + GH_CLIENT_ID: process.env.GH_CLIENT_ID, }, emptyStringAsUndefined: true,