import type { CapacitorConfig } from '@capacitor/cli'; // Live reload configuration // Set CAPACITOR_LIVE_RELOAD=true and CAPACITOR_SERVER_URL to enable const isLiveReload = false; // process.env.CAPACITOR_LIVE_RELOAD === 'true'; const serverUrl = process.env.CAPACITOR_SERVER_URL || 'http://192.168.1.100:5000'; const config: CapacitorConfig = { appId: 'com.aethex.os', appName: 'AeThex OS', webDir: 'dist/public', server: { // androidScheme: 'http', // Disable explicit http scheme, let it fall back to file or default url: undefined, // Ensure no server URL is set cleartext: true, }, plugins: { SplashScreen: { launchShowDuration: 0, launchAutoHide: true, backgroundColor: '#000000', splashFullScreen: true, splashImmersive: true }, StatusBar: { style: 'DARK', backgroundColor: '#00000000', overlaysWebView: true }, App: { backButtonEnabled: true }, PushNotifications: { presentationOptions: ['badge', 'sound', 'alert'] }, LocalNotifications: { smallIcon: 'ic_stat_icon_config_sample', iconColor: '#DC2626', sound: 'beep.wav' }, Keyboard: { resize: 'body', resizeOnFullScreen: true, style: 'dark' }, Haptics: { selectionStart: true, selectionChanged: true, selectionEnd: true } }, android: { allowMixedContent: true, captureInput: true, webContentsDebuggingEnabled: true, // Allow cleartext (HTTP) for live reload ...(isLiveReload ? { allowMixedContent: true, } : {}), }, ios: { // iOS-specific live reload settings ...(isLiveReload ? { limitsNavigationsToAppBoundDomains: false, } : {}), }, }; export default config;