# AG X Changelog ## v2.0.3 (2025-05-22) ### Features - **Multi-Provider Support**: Choose between Google OAuth or Custom Provider at first launch - **Provider Settings UI**: Built-in settings page to configure custom API endpoints - **API Proxy**: Transparent proxy that routes requests to your chosen provider - **Translation Proxy**: Supports translation services for multi-language responses - **Welcome Screen**: First-run experience lets you select your preferred provider - **System Tray Integration**: Minimize to tray with status indicators ### Fixes - Fixed provider selection flow - selecting a custom provider now correctly opens the app - Fixed endpoint configuration sync between AG X UI and Language Server proxy - Fixed OAuth redirect handling for custom providers - Fixed settings persistence across app restarts ### Architecture - `dist/main.js` - Electron main process with provider orchestration - `dist/languageServer.js` - Language Server proxy with endpoint management - `dist/provider/welcome.html` - First-run provider selection screen - `dist/provider/settings.html` - Provider configuration settings page - `dist/providerSettings.js` - Provider settings window management - `dist/services/apiProxy.js` - API request proxy to custom endpoints - `dist/services/providerService.js` - Provider CRUD operations - `dist/services/translationProxy.js` - Translation service proxy ## v2.0.2 (2025-05-22) - Initial AG X fork from Antigravity - Custom provider support - Settings UI improvements ## v2.0.1 (2025-05-22) - Base Antigravity fork - Desktop app packaging (.deb) ## [2.0.4] - 2025-05-23 ### Fixed - **Provider sync on every startup**: Active AG X provider is now always synced to `endpoints.json`, ensuring the Language Server uses the correct provider. Previously, sync only happened on first run, causing the LS to use stale/wrong provider data on subsequent starts. - **Linux sandbox crash (SIGTRAP)**: Added `--no-sandbox` to all Electron child process spawns (translation proxy, API proxy). Without this fix, the SUID sandbox caused proxy processes to crash immediately, which forced fallback to Google OAuth. - **--no-sandbox for all modes**: The `--no-sandbox` flag is now applied globally, not just in headless mode. - **Welcome screen re-trigger**: Added `--ag-reset` command-line flag. Running `ag-x --ag-reset` will re-show the provider selection welcome screen. ### Root Causes 1. `endpoints.json` was never updated after first-run → LS used wrong provider 2. Electron child processes crashed due to SUID sandbox requirement on Linux 3. No mechanism to re-show provider selection after initial setup ### Changed Files - `dist/main.js` — Always sync provider + AG_RESET flag + no-sandbox for all modes - `dist/languageServer.js` — Add --no-sandbox to proxy spawn - `dist/services/apiProxy.js` — Add --no-sandbox to proxy spawn