- Increment the counter on each page visit, check for updates at five, and reset it to zero
- Prevent duplicate counting on re-renders and reset the counter on app restart
- Preserve startup and manual checks while avoiding duplicate requests
- Preserve the saved download source and stop checking automatically when sources change
- Add regression tests for visit counting and check triggers, and update English and Chinese documentation
- Spawn Linux core processes on a dedicated, persistent thread instead of temporary background workers.
- Preserve parent-death signaling to stop the core when the GUI exits.
- Keep existing process management and Windows/macOS launch behavior unchanged.
- Add regression tests for launcher thread exit, runtime shutdown, spawn failure recovery, and parent-process termination.
- Move blocking usage queries and core lifecycle operations to background
workers, limit concurrency, and prevent overlapping core operations
- Coalesce statistics refreshes and consolidate category aggregations,
reducing unfiltered analysis queries from 11 to 4
- Cache bundled model prices, reuse management API connections, and reduce
redundant checks in the usage collector
- Throttle download progress and guide positioning updates, and avoid
redundant renders when core status is unchanged
- Bound and coalesce configuration watcher events, and reuse a single
model catalog refresh worker
- Stop scheduling remaining health checks when the dialog closes and
limit backend health-check concurrency
- Replace overlapping OAuth polling with sequential requests, retry
backoff, timeouts, and stale callback protection
- Add regression tests and a statistics benchmark script, and move
performance verification documentation to agent_docs
Only show update indicators when the remote core version is newer.
Add coverage for prereleases, build metadata, invalid versions, and version boundaries.
- add per-model context, reasoning, modality, visibility, and parallel tool settings
- persist customizations separately and apply them during catalog generation
- support restoring individual or all models to official fallback templates
- expose full fallback reasoning levels while keeping Fast available
- add localized UI, validation, documentation, and regression tests
- Sync all 11 dedicated model templates from the upstream Codex catalog
- Preserve official context windows, prompts, capabilities, and reasoning levels
- Remove the custom Spark and DeepSeek dedicated templates
- Move fallback model metadata into a standalone embedded resource
- Prevent remote catalogs and local caches from overriding fallback configuration
- Add catalog revision checks to prevent older templates from replacing newer ones
- Keep Fast mode available for both dedicated and fallback models
- Add regression coverage for Astra generation, catalog revisions, and fallback isolation
Validation: all 332 backend tests pass.
- Align fallback defaults and instruction structure with upstream Codex while preserving Fast availability for all models
- Stop forcing fallback reasoning levels or inferring original-image support
- Sync managed catalogs on model refresh, configuration changes, and every 30 seconds
- Remove unavailable models, replace missing defaults, and handle empty-list recovery
- Preserve existing configuration on request failures or invalid responses
- Serialize refreshes, update UI model lists, and preserve backups across restarts
- Add regression coverage for fallback compatibility, stale-model cleanup, and configuration recovery
- preserve the active Codex OAuth mode in legacy configuration paths
- retain unsaved OAuth selection when navigating between clients
- add regression coverage to prevent OAuth credentials from being overwritten
- add log diagnostics card under basic settings
- persist and synchronize CPA request-log configuration
- support configuration migration and rollback on save failure
- add localized UI copy and responsive styles
- add tests for request-log parsing and YAML merging
- use the original model slug as the catalog display name
- expose all standard reasoning levels for every model
- prevent upstream metadata from restricting reasoning options
- update catalog generation tests
- enable Fast for Codex API, OpenAI-compatible, and Codex OAuth sources
- apply service_tier=priority as an independent payload override
- support Fast-only and reasoning-effort combinations
- disable Fast until a supported model source is selected
* fix(gitignore): add .codex to ignored files
* feat(settings): add configurable default terminal for CLI agents
- Add default terminal selector under Advanced Settings > Software Settings
- Detect available terminals across macOS, Windows, and Linux
- Persist and migrate the default-terminal configuration
- Apply the selected terminal when launching CLI agents
- Add localized labels and regression tests
Fixes#179
* feat(easy-mode): improve API onboarding and agent configuration flow
- Fix management API 404 errors when saving API providers
- Simplify the model list and support custom model IDs
- Adjust API field order and default provider selection
- Reuse the full agent configuration page and restore agent detection
* refactor(agents): simplify embedded beginner mode UI
* style(easy-mode): align onboarding heading typography
* fix(easy-mode): refine API onboarding actions and notifications
- Reveal model selection and save actions only after fetching models
- Move the API save success toast to the bottom-right corner
- Auto-dismiss the success notification after a short delay
- Remove icons from the model fetch and save buttons
* feat(easy-mode): refine guided setup flow and spotlight positioning
- Enforce completion of each selection, input, and configuration step
- Align OAuth, API access, and agent setup guidance with actual UI actions
- Prevent guidance cards from overlapping highlighted areas
- Improve bilingual step descriptions and completion states
* feat(easy-mode): refine onboarding flow and navigation controls
- Enforce accurate step validation for OAuth and API setup
- Select all fetched API models by default
- Prevent guide cards from overlapping highlighted areas
- Improve onboarding copy and remove unnecessary dashboard actions
- Reposition and highlight guide and exit controls
* fix(usage): filter control messages and repair unknown records
- filter empty, null, refresh, and support_refresh messages before persistence
- require request_id for usage records
- repair Claude cache token accounting
- delete historical unknown records
- show deleted record count in usage management
* fix(ui): improve auth file and core install notifications
- show auth file operation notices as auto-dismiss toasts
- prevent duplicate core install completion notifications
- close the install dialog automatically after successful installation
- bump core version to 7.2.146
* fix(ui): improve responsive layouts and core install notifications
- add workspace container breakpoints for management and usage pages
- make the usage table fill the available viewport height
- reduce unnecessary blank space in usage records
- silence automatic bundled core install completion notifications
- deduplicate manual core install completion feedback
* chore(version): update core version to 7.2.147
* fix(management): bypass system proxy for local Core requests
* fix(claude-desktop): support Claude OAuth model aliases
- Resolve Claude Desktop model sources from all OAuth definitions
- Write managed aliases to the matching OAuth channel
- Preserve alias metadata and add regression coverage
* test(claude-desktop): cover xAI OAuth model aliases
* feat(config): add disable cooling toggle to retry settings
* feat(config): add disable cooling toggle and refine settings layout
* fix(dependencies): update cpa-gui version to 0.2.69
- add workspace container breakpoints for management and usage pages
- make the usage table fill the available viewport height
- reduce unnecessary blank space in usage records
- silence automatic bundled core install completion notifications
- deduplicate manual core install completion feedback
- show auth file operation notices as auto-dismiss toasts
- prevent duplicate core install completion notifications
- close the install dialog automatically after successful installation
- bump core version to 7.2.146
- filter empty, null, refresh, and support_refresh messages before persistence
- require request_id for usage records
- repair Claude cache token accounting
- delete historical unknown records
- show deleted record count in usage management
- Enforce accurate step validation for OAuth and API setup
- Select all fetched API models by default
- Prevent guide cards from overlapping highlighted areas
- Improve onboarding copy and remove unnecessary dashboard actions
- Reposition and highlight guide and exit controls
- Enforce completion of each selection, input, and configuration step
- Align OAuth, API access, and agent setup guidance with actual UI actions
- Prevent guidance cards from overlapping highlighted areas
- Improve bilingual step descriptions and completion states
- Reveal model selection and save actions only after fetching models
- Move the API save success toast to the bottom-right corner
- Auto-dismiss the success notification after a short delay
- Remove icons from the model fetch and save buttons
- Fix management API 404 errors when saving API providers
- Simplify the model list and support custom model IDs
- Adjust API field order and default provider selection
- Reuse the full agent configuration page and restore agent detection
- Add default terminal selector under Advanced Settings > Software Settings
- Detect available terminals across macOS, Windows, and Linux
- Persist and migrate the default-terminal configuration
- Apply the selected terminal when launching CLI agents
- Add localized labels and regression tests
Fixes#179
Treat request_id/event_key as correlation fields instead of unique keys,
allowing multiple usage events from the same persistent WebSocket connection.
Migrate existing usage.db schemas and add regression coverage.
Fixes#180
- simplify onboarding into model and agent setup
- preserve OAuth/API page state during navigation
- add concise OAuth and API setup guidance
- rename Easy Mode to Beginner Mode