- 29 Sep, 2025 17 commits
-
-
💱 Replace the legacy boolean “DisplayInCurrencyEnabled” with an injected, type-safe configuration `general_setting.quota_display_type`, and wire it through the backend and frontend. Backend - Add `QuotaDisplayType` to `operation_setting.GeneralSetting` with injected registration via `config.GlobalConfig.Register("general_setting", ...)`. Helpers: `IsCurrencyDisplay()`, `IsCNYDisplay()`, `GetQuotaDisplayType()`. - Expose `quota_display_type` in `/api/status` and keep legacy `display_in_currency` for backward compatibility. - Logger: update `LogQuota` and `FormatQuota` to support USD/CNY/TOKENS. When CNY is selected, convert using `operation_setting.USDExchangeRate`. - Controllers: - `billing`: compute subscription/usage amounts based on the selected type (USD: divide by `QuotaPerUnit`; CNY: USD→CNY; TOKENS: keep raw tokens). - `topup` / `topup_stripe`: treat inputs as “amount” for USD/CNY and as token-count for TOKENS; adjust min topup and pay money accordingly. - `misc`: include `quota_display_type` in status payload. - Compatibility: in `model/option.UpdateOption`, map updates to `DisplayInCurrencyEnabled` → `general_setting.quota_display_type` (true→USD, false→TOKENS). Keep exporting the legacy key in `OptionMap`. Frontend - Settings: replace the “display in currency” switch with a Select (`general_setting.quota_display_type`) offering USD / CNY / Tokens. Provide fallback mapping from legacy `DisplayInCurrencyEnabled`. - Persist `quota_display_type` to localStorage (keep `display_in_currency` for legacy components). - Rendering helpers: base all quota/price rendering on `quota_display_type`; use `usd_exchange_rate` for CNY symbol/values. - Pricing page: default view currency follows site display type (USD/CNY), while TOKENS mode still allows per-view currency toggling when needed. Notes - No database migrations required. - Legacy clients remain functional via compatibility fields.t0ng7u committed -
解锁deepseek补全倍率;允许deepseek渠道获取模型
Seefs committed -
RedwindA committed
-
CaIon committed
-
CaIon committed
-
feat(i18n): Add French language support.
Calcium-Ion committed -
CaIon committed
-
comeback01 committed
-
comeback01 committed
-
# Conflicts: # web/src/i18n/locales/zh.json
comeback01 committed -
CaIon committed
-
alpha -> main
Seefs committed -
# Conflicts: # web/src/components/settings/personal/cards/AccountManagement.jsx
Seefs committed -
Seefs committed
-
Fix third-party binding states and unify Telegram button styling in Account Management
Seefs committed -
Refactor: Cache Proxy HTTP Clients with Reset on Channel Updates
Seefs committed -
# Conflicts: # main.go
Seefs committed
-
- 28 Sep, 2025 10 commits
-
-
comeback01 committed
-
RedwindA committed
-
button styling - Show “Not enabled” for WeChat when status.wechat_login is false. - Refresh /api/status on PersonalSetting mount and persist via setStatusData to avoid stale flags, enabling binding after admin turns on OAuth. - Unify Telegram button styling with other providers; open a modal to render TelegramLoginButton for binding; align disabled “Not enabled” and “Bound” states. - Introduce isBound helper and reuse across providers (email/GitHub/OIDC/ LinuxDO/WeChat) to simplify checks and prevent falsy-ID issues.
RedwindA committed -
feat: 添加 openrouter-enterprise 支持
Calcium-Ion committed -
CaIon committed
-
# Conflicts: # relay/channel/openai/relay-openai.go
CaIon committed -
CaIon committed
-
优化渠道测试
Calcium-Ion committed -
refactor: 重构ollama渠道
Calcium-Ion committed -
creamlike1024 committed
-
- 27 Sep, 2025 13 commits
-
-
fix(relay-xunfei): 修复讯飞渠道无法使用问题 #1740
Calcium-Ion committed -
RedwindA committed
-
RedwindA committed
-
RedwindA committed
-
feat: volcengine支持自定义域名
Seefs committed -
huanghejian committed
-
This addresses feedback from CodeRabbitAI by using a regular expression for the language button's aria-label. This ensures the test can run regardless of the browser's default language.
comeback01 committed -
- Restructured the `common.changeLanguage` key to be nested under a `common` object in `en.json`, `fr.json`, and `zh.json`. - This change improves the organization of the translation files and aligns with best practices for i18next.
google-labs-jules[bot] committed -
- Added `common.changeLanguage` key to `en.json`, `fr.json`, and `zh.json`. - Updated `LanguageSelector.jsx` to use the new shared key. - Completed `fr.json` with all keys from `en.json` and `zh.json`. - Added translations for `closeSidebar`, `pricing`, and `language`.
google-labs-jules[bot] committed -
google-labs-jules[bot] committed
-
google-labs-jules[bot] committed
-
- Création du fichier `README.fr.md` en se basant sur `README.en.md`.
google-labs-jules[bot] committed -
- Création du fichier de traduction `fr.json` en se basant sur `en.json`. - Mise à jour de la configuration i18n pour inclure la langue française. - Modification du sélecteur de langue pour afficher l'option "Français" avec le drapeau correspondant.
google-labs-jules[bot] committed
-