- recalculate the top scrollbar from the actual table overflow
- clamp and synchronize scroll positions when visible columns change
- preserve horizontal scrolling while hiding the bottom scrollbar
- remove forced table width expansion for smaller column sets
- improve toolbar and display settings responsiveness
- remove the redundant usage page header
- compact the navigation and collector status toolbar
- move horizontal scrolling and pagination controls above the table
- hide the bottom horizontal scrollbar
- rename column settings to display settings
- update the default visible columns and display order
- add page size selection and record range details
- adjust the Vite chunk size warning limit
- remove the redundant usage page header
- compact the navigation and collector status toolbar
- move the horizontal scrollbar above the table
- move pagination and page size controls above the table
- improve column visibility labels and responsive styles
- adjust the Vite chunk size warning limit
- streamline the page header and status toolbar
- move the horizontal scrollbar above the table
- add page size selection and record range details
- improve column visibility controls and responsive styles
- adjust the Vite chunk size warning limit
- increase the toast width for longer messages
- allow notification content to wrap across multiple lines
- replace the fixed height with responsive sizing
- serialize app and core version checks to prevent state races
- keep the source selector responsive during background checks
- prevent stale fallback results from overriding recent selections
- style the custom source action and restore the compact selector width
- support built-in and user-defined GitHub mirror sources
- add a modal for managing custom HTTPS mirror prefixes
- automatically switch sources when version checks fail
- persist the working source and sync the selector in real time
- update translations, configuration migration, and source tests
- support GitHub, GitCode, gh-proxy, and ghfast sources
- automatically try other sources when version checks fail
- persist the working fallback source and sync the UI immediately
- update translations, configuration migration, and source tests
- prompt for user confirmation before stopping running core and updating
- add confirm dialog UI with cancel and update actions
- add multilingual translations for core update confirmation
- increase page max-width from 980px to 1160px
- enlarge card padding, gaps, and border radiuses
- upgrade title and metric font sizes to panel title scale
- improve action button height and padding for better touch targets
- Hide the core running PID badge during normal operation
- Remove redundant up-to-date indicators
- Hide the model catalog status badge when idle
- Show status badges only for updates, progress, missing installations, or errors
- Preserve one-time feedback after manual model catalog synchronization
- Match core processes by their actual executable paths
- Prevent different EasyCLIProxyAPI installations from interfering
- Adopt orphaned core processes from the current cpa-core directory
- Rescan and terminate owned core processes during shutdown
- Enforce a single app instance per installation directory
- Clean up core processes that fail to enter the Windows job object
- Add multi-directory process isolation and instance lock tests
- Redesign and streamline the version management page
- Remove redundant platform, runtime, and auto-update capability details
- Preserve the core runtime state during installation and updates
- Automatically restart the core after successful, failed, or cancelled updates
- Improve update progress, status handling, and localized messages
- Add tests for version management and core runtime restoration
- Add a dedicated version management page
- Improve app, core, and model catalog status displays
- Preserve the core runtime state during updates
- Automatically restart the core after successful, failed, or cancelled updates
- Add tests for version management and core runtime restoration
- Split React, Tauri, DnD, and icon dependencies into vendor chunks
- Reduce the main application chunk below the warning threshold
- Compile test-only alias helpers only during test builds
- Add a GitCode source toggle to Version Management
- Persist the preferred download source
- Prefer GitCode for app and core updates with GitHub fallback
- Add localized copy, documentation, and download-order tests
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(codex): align model display names and show total session count
- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages
* fix(codex): keep config and auth files in sync
- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states
* fix(cpa-gui): update version to 0.2.59 in Cargo files
* fix(codex): preserve OAuth mode after closing configuration
* feat(config): add TLS management and protocol-aware local URLs
- add TLS controls to advanced settings
- persist certificate and private key paths
- restart the core after TLS changes
- switch WebUI, API and management URLs between HTTP and HTTPS
- synchronize agent configurations and detection with the active protocol
* refactor(config): reorganize network, routing, and TLS settings
- split network settings and session routing into separate tabs
- move TLS configuration into network settings
- preserve TLS restart and HTTPS URL synchronization behavior
* feat(config): add independent network settings and custom listen IP
* fix(navigation): allow access to usage records while core is stopped
* refactor(home): show a single API URL based on the configured listen IP
* feat(config): add file pickers for TLS certificate and private key
* fix(usage): distinguish client cancellations from request failures
- persist usage failure status and response details
- classify HTTP 499 and canceled contexts separately
- exclude canceled requests from failure statistics
- add canceled filtering and failure details to the usage UI
- migrate and backfill existing usage records
* feat(ui): revamp usage records and improve app interactions
- redesign usage records dashboard, filters, charts, and pricing views
- add resizable centered columns with persisted widths
- expose OpenCode desktop launch and restart actions
- suppress the API access enabled success notice
* feat(agents): persist applied configurations across app restarts
- preserve applied agent configs and managed Claude aliases on exit
- keep explicit close actions restoring original configurations
- add Codex restart persistence regression coverage
- bump desktop version to 0.2.61
* fix(model-aliases): support provider-aware OAuth aliases
- map OAuth aliases to their correct provider channels
- support Antigravity aliases with force mapping
- read and delete aliases by their exact OAuth channel
- refresh the runtime model registry after alias changes
- restrict Fast aliases to GPT models from OpenAI-compatible or Codex sources
* docs(readme): add APIMart sponsorship sections
- add English and Chinese sponsor descriptions
- add localized APIMart banner images
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(codex): align model display names and show total session count
- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages
* fix(codex): keep config and auth files in sync
- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states
* fix(cpa-gui): update version to 0.2.59 in Cargo files
* fix(codex): preserve OAuth mode after closing configuration
* feat(config): add TLS management and protocol-aware local URLs
- add TLS controls to advanced settings
- persist certificate and private key paths
- restart the core after TLS changes
- switch WebUI, API and management URLs between HTTP and HTTPS
- synchronize agent configurations and detection with the active protocol
* refactor(config): reorganize network, routing, and TLS settings
- split network settings and session routing into separate tabs
- move TLS configuration into network settings
- preserve TLS restart and HTTPS URL synchronization behavior
* feat(config): add independent network settings and custom listen IP
* fix(navigation): allow access to usage records while core is stopped
* refactor(home): show a single API URL based on the configured listen IP
* feat(config): add file pickers for TLS certificate and private key
* fix(usage): distinguish client cancellations from request failures
- persist usage failure status and response details
- classify HTTP 499 and canceled contexts separately
- exclude canceled requests from failure statistics
- add canceled filtering and failure details to the usage UI
- migrate and backfill existing usage records
* feat(ui): revamp usage records and improve app interactions
- redesign usage records dashboard, filters, charts, and pricing views
- add resizable centered columns with persisted widths
- expose OpenCode desktop launch and restart actions
- suppress the API access enabled success notice
* feat(agents): persist applied configurations across app restarts
- preserve applied agent configs and managed Claude aliases on exit
- keep explicit close actions restoring original configurations
- add Codex restart persistence regression coverage
- bump desktop version to 0.2.61
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(codex): align model display names and show total session count
- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages
* fix(codex): keep config and auth files in sync
- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states
* fix(cpa-gui): update version to 0.2.59 in Cargo files
* fix(codex): preserve OAuth mode after closing configuration
* feat(config): add TLS management and protocol-aware local URLs
- add TLS controls to advanced settings
- persist certificate and private key paths
- restart the core after TLS changes
- switch WebUI, API and management URLs between HTTP and HTTPS
- synchronize agent configurations and detection with the active protocol
* refactor(config): reorganize network, routing, and TLS settings
- split network settings and session routing into separate tabs
- move TLS configuration into network settings
- preserve TLS restart and HTTPS URL synchronization behavior
* feat(config): add independent network settings and custom listen IP
* fix(navigation): allow access to usage records while core is stopped
* refactor(home): show a single API URL based on the configured listen IP
* feat(config): add file pickers for TLS certificate and private key
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(codex): align model display names and show total session count
- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages
* fix(codex): keep config and auth files in sync
- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states
* fix(cpa-gui): update version to 0.2.59 in Cargo files
* fix(codex): preserve OAuth mode after closing configuration
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(codex): align model display names and show total session count
- preserve runtime model identity in generated catalogs
- count distinct sessions across database and rollout sources
- update session count labels in all supported languages
* fix(codex): keep config and auth files in sync
- generate auth.json for API key configuration
- preserve and validate OAuth credentials
- include auth.json in transactional updates and rollback
- retain compatibility with legacy Codex configuration states
* fix(cpa-gui): update version to 0.2.59 in Cargo files
* chore(release): stop publishing legacy Windows update packages
* feat(agents): support OpenCode Desktop across platforms
Detect CLI and desktop installations on Windows, macOS, and Linux, and add separate launch and restart controls.
Closes#156
* fix(macos): restore main window on application reopen (#148)
Handle macOS RunEvent::Reopen when no window is visible. Fixes#147.
* fix(version): update core version to 7.2.138
* fix(macos): persist OAuth credentials across DMG upgrades
Migrate app-bundle auth directories to Application Support before updating configuration and prevent future bundle-local OAuth storage.
Fixes#153
* fix(kernel): stop the core before updating
* fix(i18n): use consistent stop terminology for core controls
* fix(opencode): support macOS JSONC configuration detection
Closes#156
---------
Co-authored-by: Fake Trader <9635792+faketrader@users.noreply.github.com>
* fix(macos): restore main window on application reopen (#148)
Handle macOS RunEvent::Reopen when no window is visible. Fixes#147.
* fix(version): update core version to 7.2.138
* fix(macos): persist OAuth credentials across DMG upgrades
Migrate app-bundle auth directories to Application Support before updating configuration and prevent future bundle-local OAuth storage.
Fixes#153
---------
Co-authored-by: Fake Trader <9635792+faketrader@users.noreply.github.com>
* fix(macos): restore main window on application reopen (#148)
Handle macOS RunEvent::Reopen when no window is visible. Fixes#147.
* fix(version): update core version to 7.2.138
* fix(macos): persist OAuth credentials across DMG upgrades
Migrate app-bundle auth directories to Application Support before updating configuration and prevent future bundle-local OAuth storage.
Fixes#153
---------
Co-authored-by: Fake Trader <9635792+faketrader@users.noreply.github.com>