* Refactor Gemini model display: filter old versions, group low/high pro, and improve naming
* Fix potential negative minutes and refine Gemini 3 Pro grouping logic based on PR feedback
* The account change process has been sped up
* Address PR review: enhance error message and parameterize polling interval in process handler
* Address PR review: fix potential race condition in database backup logic
* fix: prevent renderer white screen and harden sentry gating
* feat: localize model labels
* chore: enable hoisted node-linker
* chore: ignore .agent/.claude/.codex in prettier
---------
Co-authored-by: Draculabo <[email protected]>
* feat: Implement provider groupings with account calculator and comprehensive fixes
- Add provider detection utilities (detectProvider, PROVIDER_REGISTRY) for Claude/Gemini/Others categorization
- Implement grouping logic (groupModelsByProvider, calculateProviderStats, calculateAccountStats) with health status calculation
- Create useProviderGrouping hook for collapsible state management and persistence
- Add ProviderGroup component with health indicators, progress bars, and model visibility integration
- Enhance CloudAccountList with account-level calculator showing overall percentage and earliest reset time
- Implement grid layout selector (auto/2-col/3-col/list) with config persistence and tooltips
- Add global quota aggregate bar across all accounts in top statistics
- Fix model visibility settings regression by accessing account.quota.models instead of account.quota
- Show 'Rate Limited' instead of '0%' for exhausted quotas with consistent getQuotaLabel function
- Add comprehensive i18n translations for layout selector and rate limited labels (en, zh-CN, ru)
- Disable batch operations when provider groupings are enabled to prevent conflicts
- Include unit tests for provider detection logic and grouping functionality
Addresses critical issues: model list regression, rate limited display, layout control, global quota visibility, and consistent quota labeling across all components.
* fix: resolve ESLint no-ex-assign violations in proxy service
- Fix exception parameter reassignment in catch blocks
- Rename catch parameters to avoid no-ex-assign rule violations
- Maintain same error handling logic while complying with linting rules
* fix: add missing Models tab to settings page
- Add Models tab between General and Proxy tabs
- Import and integrate ModelVisibilitySettings component
- Fix critical regression where model visibility settings were inaccessible
* fix: add missing React hook imports in settings route
* test: remove obsolete tests for removed controller APIs
---------
Co-authored-by: Draculabo <[email protected]>