diff --git a/src/lib/host.ts b/src/lib/host.ts index 2782f5b..f3bb377 100644 --- a/src/lib/host.ts +++ b/src/lib/host.ts @@ -11,7 +11,20 @@ export type HostMatch = | { kind: "unknown" }; // Longest-first so `stage.breakpilot.com` is matched before `breakpilot.com`. -const APEX_HOSTS = ["stage.breakpilot.com", "breakpilot.com", "localhost"]; +// Built-ins cover dev (localhost) + the canonical breakpilot.com targets. +// PORTAL_APEX_HOSTS is a comma-separated env override for per-environment +// hosts (e.g. portal-dev.meghsakha.com while breakpilot.com isn't registered). +const APEX_HOSTS = (() => { + const base = ["stage.breakpilot.com", "breakpilot.com", "localhost"]; + const extra = (process.env.PORTAL_APEX_HOSTS ?? "") + .split(",") + .map((h) => h.trim().toLowerCase()) + .filter(Boolean); + // Longest-first to keep the suffix-strip loop correct. + return Array.from(new Set([...extra, ...base])).sort( + (a, b) => b.length - a.length, + ); +})(); const APEX_SET = new Set(APEX_HOSTS); export function parseHost(host: string | null | undefined): HostMatch {