Jaimodiji's picture
Upload folder using huggingface_hub
e4eb5be verified
// --- SINGLE SOURCE OF TRUTH ---
const VITE_PREVIEW_URL = import.meta.env.VITE_PREVIEW_URL
declare const __DEFAULT_BACKEND__: string;
const BACKENDS = {
hf: 'https://jaimodiji-my-multiplayer-app.hf.space',
cloudflare: 'https://multiplayer-template.bossemail.workers.dev'
};
const VERSION = "1.0.5-" + Date.now();
console.log(`[Config] Version: ${VERSION}`);
console.log(`[Config] window.location:`, {
origin: window.location.origin,
protocol: window.location.protocol,
host: window.location.host
});
let origin = window.location.origin
// Helper to detect if we are in a "remote" mode (served from a server, not bundled)
const isRemoteMode = () => {
const host = window.location.host;
return host.includes('hf.space') ||
host.includes('workers.dev') ||
host.includes('duckdns.org') ||
host.includes('192.168.');
};
// Helper to detect Capacitor
const isCapacitor = () => {
return !!(window as any).Capacitor;
};
if (VITE_PREVIEW_URL) {
console.log(`[Config] Using VITE_PREVIEW_URL: ${VITE_PREVIEW_URL}`);
origin = VITE_PREVIEW_URL.replace(/\/$/, '')
} else if (isCapacitor() && !isRemoteMode()) {
// We are likely in bundled mode on a device
const defaultBackend = typeof __DEFAULT_BACKEND__ !== 'undefined' ? __DEFAULT_BACKEND__ : 'cloudflare';
const preferredBackend = localStorage.getItem('color_rm_backend') || defaultBackend;
origin = (BACKENDS as any)[preferredBackend] || (BACKENDS as any)[defaultBackend];
console.log(`[Config] Capacitor bundled mode detected. Using backend: ${origin}`);
}
// Force WSS if we are on HTTPS
export const SERVER_URL = origin
export const WS_URL = origin.replace(/^http/, 'ws')
export const apiUrl = (path: string) => {
// Ensure path starts with /
const normalizedPath = path.startsWith('/') ? path : '/' + path;
return SERVER_URL + normalizedPath;
}
console.log(`[Config] FINAL -> SERVER_URL: ${SERVER_URL}, WS_URL: ${WS_URL}`);