From 6d91efecad3ccf24a8937e6f9d73d7030b93c204 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 8 Jul 2026 11:04:47 -0700 Subject: [PATCH] default client to same-origin /api/v1 and window.location.origin, drop UPTIME_APP_* placeholders --- client/.env.production | 10 ++++++---- .../Account/components/InviteTeamMemberDialog.tsx | 2 +- client/src/Types/env.d.ts | 3 ++- client/src/Utils/ApiClient.ts | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/client/.env.production b/client/.env.production index 25849c7b9..d5b77ff28 100644 --- a/client/.env.production +++ b/client/.env.production @@ -1,4 +1,6 @@ -VITE_APP_API_BASE_URL=UPTIME_APP_API_BASE_URL -VITE_APP_API_V2_BASE_URL=UPTIME_APP_API_V2_BASE_URL -VITE_APP_CLIENT_HOST=UPTIME_APP_CLIENT_HOST -VITE_APP_LOG_LEVEL=UPTIME_APP_LOG_LEVEL \ No newline at end of file +# Production builds use same-origin defaults: API at /api/v1, client host from +# window.location.origin. The empty values below override any local .env so a +# production build never bakes in a developer's localhost URLs. +VITE_APP_API_BASE_URL= +VITE_APP_CLIENT_HOST= +VITE_APP_LOG_LEVEL= diff --git a/client/src/Pages/Account/components/InviteTeamMemberDialog.tsx b/client/src/Pages/Account/components/InviteTeamMemberDialog.tsx index e23f24e53..b3e08fe67 100644 --- a/client/src/Pages/Account/components/InviteTeamMemberDialog.tsx +++ b/client/src/Pages/Account/components/InviteTeamMemberDialog.tsx @@ -56,7 +56,7 @@ export const InviteTeamMemberDialog = ({ const result = await generateToken("/invite", data); if (result?.data?.token) { const token = result.data.token; - const link = CLIENT_HOST ? `${CLIENT_HOST}/register/${token}` : token; + const link = `${CLIENT_HOST || window.location.origin}/register/${token}`; setInviteLink(link); } }; diff --git a/client/src/Types/env.d.ts b/client/src/Types/env.d.ts index af8f983fb..0e753a580 100644 --- a/client/src/Types/env.d.ts +++ b/client/src/Types/env.d.ts @@ -3,7 +3,8 @@ declare const __APP_VERSION__: string; interface ImportMetaEnv { - readonly VITE_APP_API_V2_BASE_URL?: string; + readonly VITE_APP_API_BASE_URL?: string; + readonly VITE_APP_CLIENT_HOST?: string; readonly VITE_APP_LOG_LEVEL?: "debug" | "info" | "warn" | "error"; } diff --git a/client/src/Utils/ApiClient.ts b/client/src/Utils/ApiClient.ts index b18f2dfbc..d88dca6b1 100644 --- a/client/src/Utils/ApiClient.ts +++ b/client/src/Utils/ApiClient.ts @@ -2,7 +2,7 @@ import axios from "axios"; import type { AxiosError } from "axios"; import type { AxiosRequestConfig, AxiosResponse } from "axios"; -const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL; +const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL || "/api/v1"; const api = axios.create({ baseURL: BASE_URL,