- Introduced a new test suite for the Vietnamese locale to ensure all English keys are covered with matching interpolation tokens.
- Updated the ApiKeyStrengthMeter and configUiState tests to utilize the LANGUAGE_ORDER constant for locale management.
- Enhanced test descriptions for clarity regarding supported locales.
Backend config_v8.go relocated shared provider behavior out of
oauth.providers.* to upstream.* (v8SharedPaths): Codex cloaking,
model-level cooling, stream bootstrap, orphan delegation and response
steering; Claude model-level cooling, cloak mode, cloaking model list
and header-defaults; and xAI inject-x-search. Read and write the
canonical paths so the panel reflects the values the runtime actually
applies; the backend still accepts and migrates legacy spellings.
OAuth-only fields (Codex live-media-relay and header-defaults,
Antigravity, aistudio, devin) keep their oauth.providers.* paths.
The backend migrated oauth.providers.codex.optimize-multi-agent-v2 to
client.codex.optimize-multi-agent-v2 (v8ClientPaths in config_v8.go).
The visual editor still read the historical path, so toggling
"Optimize multi-agent v2" saved but reverted to off after refresh —
and when client.codex already held false, writes to the stale alias
could never enable the feature.
Point the addition field and its search yamlKeys at the canonical
client.codex path; the backend normalizes any remaining legacy keys on
save.
Fixesrouter-for-me/Cli-Proxy-API-Management-Center#472
Add a complete Vietnamese translation for the Management Center UI:
- src/i18n/locales/vi.json: full translation of all 1540 keys from
en.json, with all interpolation placeholders preserved
- src/i18n/index.ts: register the vi resource bundle
- src/types/common.ts: extend the Language type with 'vi'
- src/utils/constants.ts: add 'vi' to LANGUAGE_ORDER and
LANGUAGE_LABEL_KEYS
- src/utils/language.ts: auto-detect vi-* browser languages
- locales/{en,zh-CN,zh-TW,ru}.json: add the Tiếng Việt label so the
new language appears in every language switcher
Tested by building with vite and deploying the bundle against a live
CLIProxyAPI v7.2.133 server; vi-* browsers resolve to the Vietnamese
UI and all strings render with correct placeholders.
Co-authored-by: nguyenha935 <nguyenha935@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Implemented ClaudeResetGrants component to manage reset grants for Claude usage.
- Integrated reset grant operations with session management and eligibility checks.
- Added API service for reading and claiming reset grants from the Anthropic API.
- Enhanced UI with localized messages for reset grant actions.
- Created tests for grant parsing, claiming, and session handling to ensure reliability.
* feat(quota): show the Grok subscription on the xAI card
The billing payload has no plan name. The display name comes from
Grok settings and the tier from the user subscription include.
* Refactor provider credential weight normalization tests and update API key structure
- Updated test cases in `providerWeightTransformers.test.ts` to reflect changes in API key structure from 'api-key-entries' to 'keys'.
- Introduced new tests in `providerWorkbenchUi.test.ts` to verify the editing surface of provider workbench.
- Modified `sponsorCustomEndpoint.test.ts` to adapt to the new API key structure.
- Adjusted `visualConfigAntigravitySensitiveWords.test.ts` and `visualConfigConcurrency.test.ts` to accommodate new YAML structure for sensitive words and concurrency settings.
- Enhanced `visualConfigDefaults.test.ts` to ensure proper handling of boolean defaults and YAML structure.
- Updated `visualConfigDevinSensitiveWords.test.ts` to reflect changes in the YAML structure for sensitive words.
- Refined `visualConfigDisableImageGeneration.test.ts` to align with new multimedia settings.
- Added comprehensive tests in `visualConfigV8.test.ts` to validate the v8 visual config contract and ensure scalar read/write path parity.
- Improved validation tests in `visualConfigValidation.test.ts` to handle new routing and requests structure.
- Cleaned up `xaiApiKeyProvider.test.ts` by removing unnecessary API client mocks and focusing on normalization of the xAI API key contract.
* fix(config): prevent v8 configuration mutation regressions
* feat(proxy): add proxyUrl support across various components and API calls
* feat: implement model discovery merging and enhance provider forms
- Add mergeDiscoveredModels function to deduplicate and merge model entries based on incoming data.
- Refactor BaseProviderForm and SponsorProviderForm to utilize mergeDiscoveredModels for applying discovered models.
- Update ModelEntryInput type to include sourceIndex for better tracking of model identities.
- Enhance tests for provider model discovery to ensure correct merging behavior and metadata preservation.
- Modify serialization logic in providers API to handle new model structure and sourceIndex.
- Improve YAML AST handling in visual config tests to ensure accurate condition management.
* feat(cooldown): implement cooldown reset functionality and UI updates
* feat(authFileCard): add disabled state styling and update tests for clarity
* refactor: reorganize logs feature structure and improve log handling
- Deleted the `useLogScroller` hook and its associated logic to streamline log scrolling functionality.
- Moved `LogsPage` component to a new directory structure under `features/logs`.
- Updated API service for logs to enhance error handling and response normalization.
- Introduced new tests for log buffer, log parsing, and log selectors to ensure robust functionality.
- Added localization tests to verify translation consistency across multiple languages.
- Improved log request handling and lifecycle management in the logs controller.
- Enhanced log scrolling tests to validate anchor adjustments and pending log line counts.
* feat(logs): enhance log viewer with line wrapping and improved filter options
- Added a toggle for wrapping long log lines in the LogsPage component.
- Updated the structured filters panel to open in a modal for better accessibility.
- Improved accessibility features with appropriate ARIA attributes.
- Refactored log rendering logic to support new wrapping functionality.
- Updated translations for filter and display settings in multiple languages.
- Enhanced styles for better layout and responsiveness in log viewer.
- Added tests to ensure layout integrity and functionality of new features.
* feat(logs): update styles for improved layout and toolbar controls
* feat(i18n): add legacy backend error messages in Chinese and Traditional Chinese
feat(api): implement config patching logic for managing configuration changes
feat(api): add legacy backend probe for diagnosing v0 management support
fix(auth): handle legacy backend detection during login process
test: add tests for config patching and legacy backend probe functionality
test: implement visual config rebase tests for maintaining draft state
* fix(config): recover confirmed list edits without replaying stale indexes
* fix(config): block conflicting payload replacements after recovery
* fix(logs): respect handled Escape events in fullscreen
* fix(quota): load xAI subscription after quota and preserve remaining amounts
---------
Co-authored-by: Supra4E8C <tan13318527080@163.com>
* fix(quota): show Kimi monthly limit and kimi.ai accounts
Plans without a weekly limit report their monthly total only in usages.limit_month_total, so the card showed the 5-hour window alone. Kimi International (kimi-ai) credentials were left off the quota page; their token only works on api.kimi.ai.
* fix(quota): normalize kimi_ai when picking the Kimi usage host
---------
Co-authored-by: Evgeny Gamov <smartass@smartass.pw>
- Add authFilePolicyAdapter.ts for handling credential alias and rule management.
- Extend authFiles.ts to include new fields for credential policies and refresh actions.
- Introduce tests for credential policy forms, preservation, and refresh actions.
- Enhance auth file status identity handling to support optional auth_index in API requests.
- Implement comprehensive tests for credential refresh lifecycle and result presentation.
- Introduced new visual configuration fields for trusted proxies and discovery options.
- Implemented validation for trusted proxies and discovery service type.
- Updated localization files for English, Russian, Simplified Chinese, and Traditional Chinese to include new fields and validation messages.
- Enhanced the visual configuration hooks to handle new server fields and validation errors.
- Added tests for server configuration notifications and UI components to ensure proper functionality and localization.
- Introduced new configuration fields related to OAuth behavior, including ICE server settings and cooldown parameters.
- Updated localization files for Traditional Chinese (zh-TW) to include new fields and validation messages.
- Enhanced visual configuration types to accommodate new fields and validation error codes.
- Added unit tests to ensure proper localization and UI rendering for new configuration fields.
- Implemented validation logic for new fields, including duration formats, IP addresses, and ICE server URLs.
feat(api): implement config patching logic for managing configuration changes
feat(api): add legacy backend probe for diagnosing v0 management support
fix(auth): handle legacy backend detection during login process
test: add tests for config patching and legacy backend probe functionality
test: implement visual config rebase tests for maintaining draft state
- Added a toggle for wrapping long log lines in the LogsPage component.
- Updated the structured filters panel to open in a modal for better accessibility.
- Improved accessibility features with appropriate ARIA attributes.
- Refactored log rendering logic to support new wrapping functionality.
- Updated translations for filter and display settings in multiple languages.
- Enhanced styles for better layout and responsiveness in log viewer.
- Added tests to ensure layout integrity and functionality of new features.
- Deleted the `useLogScroller` hook and its associated logic to streamline log scrolling functionality.
- Moved `LogsPage` component to a new directory structure under `features/logs`.
- Updated API service for logs to enhance error handling and response normalization.
- Introduced new tests for log buffer, log parsing, and log selectors to ensure robust functionality.
- Added localization tests to verify translation consistency across multiple languages.
- Improved log request handling and lifecycle management in the logs controller.
- Enhanced log scrolling tests to validate anchor adjustments and pending log line counts.
- Add mergeDiscoveredModels function to deduplicate and merge model entries based on incoming data.
- Refactor BaseProviderForm and SponsorProviderForm to utilize mergeDiscoveredModels for applying discovered models.
- Update ModelEntryInput type to include sourceIndex for better tracking of model identities.
- Enhance tests for provider model discovery to ensure correct merging behavior and metadata preservation.
- Modify serialization logic in providers API to handle new model structure and sourceIndex.
- Improve YAML AST handling in visual config tests to ensure accurate condition management.