CaIon
9f8a4ec050
fix: filter pricing variables based on cache token availability in tiered model price rendering
2026-04-28 11:29:30 +08:00
CaIon
bee339d279
fix: always serialize ratio/price values for all models to ensure fallback during sync delays
2026-04-27 22:07:46 +08:00
CaIon
4e93148d9e
fix: ensure proper handling of JSON unmarshalling for maps in config update
2026-04-27 22:07:46 +08:00
Calcium-Ion
e36d191c2e
Merge pull request #4450 from feitianbubu/pr/7fa4a87ad953642a2f454ad0813a0c8b6ac361c6
...
增加用户创建时间和最后登录时间
2026-04-26 22:12:22 +08:00
Calcium-Ion
34afe9b426
Merge pull request #4470 from seefs001/feature/show-removed-upstream-models
...
feat: show removed upstream models in fetch models modal
2026-04-26 20:20:21 +08:00
Calcium-Ion
d604f48c06
Merge pull request #4469 from seefs001/fix/tool-arguments-object
...
fix: support raw JSON response tool arguments
2026-04-26 20:20:03 +08:00
Calcium-Ion
86cfb3920e
Merge pull request #4468 from seefs001/feature/ali-anthropic-messsages-model-configure
...
feat: configure native messages model matching for ali
2026-04-26 20:19:37 +08:00
Calcium-Ion
097a50ebdc
fix: clarify affinity disabled channel retry message ( #4453 )
2026-04-26 20:18:02 +08:00
Seefs
f424f906d8
feat: sync upstream pricing from pricing endpoint ( #4452 )
...
* feat: sync upstream pricing from pricing endpoint
* feat: sync upstream pricing with expression priority
* fix: add feedback while syncing upstream pricing
* fix: show loading state for empty upstream pricing sync
2026-04-26 20:17:35 +08:00
Calcium-Ion
cc4ad6c39e
Merge pull request #4437 from seefs001/fix/channel-upstream-model-sync
...
fix(channel): load model mapping during upstream model checks
2026-04-26 20:17:14 +08:00
Seefs
4c21c4c43b
feat: show removed upstream models in fetch models modal
2026-04-26 14:24:43 +08:00
Seefs
db89b57e1c
fix: support raw JSON response tool arguments
2026-04-26 13:47:37 +08:00
Seefs
62d4b63fc3
feat: configure native messages model matching
2026-04-26 13:37:59 +08:00
Seefs
355307223a
fix: clarify affinity disabled channel retry message
2026-04-25 17:43:42 +08:00
CaIon
f2f3410dcf
feat: add len variable for tier conditions and LLM prompt helper
2026-04-25 13:24:20 +08:00
feitianbubu
02aacb38a2
feat: add user created_at and last_login_at
2026-04-25 12:44:44 +08:00
CaIon
a7c38ec851
fix: add PaymentProvider field to prevent cross-gateway callback attacks
...
EPay allows users to switch payment methods (e.g. wxpay→alipay) during
checkout, causing callback rejection. Replace fragile blocklist guard
with a PaymentProvider field on TopUp and SubscriptionOrder that
identifies which gateway created the order.
2026-04-24 22:16:16 +08:00
Seefs
095e1920f1
fix(channel): load model mapping during upstream model checks
2026-04-24 17:51:46 +08:00
Calcium-Ion
8993386743
feat: support DeepSeek V4 reasoning suffix handling ( #4428 )
2026-04-24 17:06:59 +08:00
HynoR
435d7ae0dd
feat: support DeepSeek V4 reasoning suffix handling
2026-04-24 16:50:35 +08:00
CaIon
3a2138ba61
refactor: rename and relocate HasModelBillingConfig function for clarity
2026-04-24 16:39:12 +08:00
yyhhyyyyyy
e3d64cb76d
Merge pull request #4431 from yyhhyyyyyy/fix/tiered-billing-model-list
...
fix: include tiered billing models in model listing
2026-04-24 16:24:36 +08:00
Calcium-Ion
2e610e5fb3
Merge pull request #4426 from feitianbubu/pr/86489c09a85b2b3c6e4c27f3fdeda866258c19f4
...
fix: model pricing use correct display type
2026-04-24 14:03:33 +08:00
Calcium-Ion
05b0041de2
Merge pull request #4414 from jingx8885/codex/fix-gpt-55-completion-ratio
...
fix: correct gpt-5.5 completion ratio
2026-04-24 14:02:23 +08:00
Calcium-Ion
ec8f3dceaa
Merge pull request #4412 from xyfacai/fix/image-n
...
fix(image): only price image model use N ratio
2026-04-24 14:01:56 +08:00
feitianbubu
63ce2db988
fix: model pricing use correct display type
2026-04-24 13:48:09 +08:00
yesone
df6d862895
fix: correct gpt-5.5 completion ratio
2026-04-24 09:11:33 +08:00
Xyfacai
69ba18d392
fix(image): only price image model use N ratio
2026-04-24 01:24:14 +08:00
Calcium-Ion
65b1654732
Merge pull request #4409 from QuantumNous/nightly
...
feat: support for tiered billing expressions in the billing system
2026-04-24 00:34:52 +08:00
CaIon
eab478bdc8
fix: miscellaneous quick fixes from CodeRabbit review
...
- log_info_generate.go: add nil guard in InjectTieredBillingInfo
- billing_expr_request.go: merge headers instead of replacing
- go.mod: remove incorrect // indirect on expr-lang/expr
- ToolPriceSettings.jsx: add null check in syncToVisual
- tool_billing.go: fix PricePer1K for image_generation (per-call, not per-1K)
- utils.jsx: add minute() to time condition regex
- useUsageLogsData.jsx: pass displayMode to renderTieredModelPrice
- AGENTS.md, CLAUDE.md: fix Rule 6/7 ordering
- relay-gemini.go: add TEXT modality case in CandidatesTokensDetails
2026-04-24 00:34:06 +08:00
CaIon
3e5f2ee1d6
fix(billing): correct tiered billing settlement and edge cases
...
- quota.go: add missing SettleBilling call in PostWssConsumeQuota
- text_quota.go: gate InjectTieredBillingInfo on tieredBillingApplied bool
instead of tieredResult != nil, so fallback billing still logs metadata
- price.go: remove quotaBeforeGroup == 0 from freeModel condition to avoid
bypassing settlement for output-only expressions
- tiered_settle.go: split cc/cc1h subtraction using UsageSemantic to
distinguish OpenAI vs Claude cache creation token formats
- pricing.go: only set BillingMode when a non-empty expression exists
- useModelPricingEditorState.js: only write billing_mode when
finalBillingExpr is non-empty
2026-04-24 00:33:54 +08:00
CaIon
8eeae00737
fix: resolve runtime crashes in render.jsx and TieredPricingEditor.jsx
...
- render.jsx: change const destructuring of completionRatio/audioRatio to
use raw names with ?? 0 defaults, preventing "Assignment to constant
variable" errors in renderModelPrice, renderAudioModelPrice, and
renderClaudeModelPrice
- TieredPricingEditor.jsx: add missing MATCH_GTE import, remove misleading
alias help text, preserve conditions for single-tier configs
2026-04-24 00:33:41 +08:00
CaIon
6bde1a9c8d
Merge origin/main into nightly
...
Resolve conflicts:
- .gitignore: keep nightly additions (.test, skills-lock.json)
- relay/helper/price.go: keep both billingexpr and model imports
- en.json / zh-CN.json: keep nightly's superset of i18n entries
- service/billing_session.go: add missing 3rd arg to DecreaseUserQuota
- en.json / zh-CN.json: deduplicate 129+320 duplicate i18n keys
2026-04-23 21:37:03 +08:00
Calcium-Ion
55b7e485c1
Merge pull request #4162 from yyhhyyyyyy/fix/tiered-text-tool-surcharge
...
fix(billing): preserve text tool surcharges in tiered settlement
2026-04-23 19:01:13 +08:00
CaIon
5c4ed5be99
fix(billing): use tieredQuota fallback in composeTieredTextQuota error path
...
Remove the intermediate branch that recomputed quota from
EstimatedQuotaBeforeGroup when tieredResult is nil. This discarded the
FinalPreConsumedQuota fallback that TryTieredSettle already selected.
Now the error path simply adds tool surcharges to the passed-in
tieredQuota, preserving the existing fallback semantics.
Also removes unrelated mise.toml and adds a test covering the error
fallback with a pre-consumed quota that differs from the estimate.
2026-04-23 18:59:48 +08:00
Calcium-Ion
11f8d42d66
Merge pull request #4401 from XiaoAI1024/codex/legacy-token-key-compat
...
Relax token key column length for legacy migration compatibility
2026-04-23 13:32:45 +08:00
XiaoAI1024
49474520ec
Protect external token migration tests
2026-04-23 13:29:00 +08:00
XiaoAI1024
0feb6f2c3c
Add cross-database token migration tests
2026-04-23 13:29:00 +08:00
XiaoAI1024
81ddf6e722
Add legacy token migration test
2026-04-23 13:29:00 +08:00
XiaoAI1024
2431efc01f
Support longer legacy token keys
2026-04-23 13:29:00 +08:00
Calcium-Ion
01c2e909a0
Merge pull request #4399 from QuantumNous/dependabot/npm_and_yarn/electron/xmldom/xmldom-0.8.13
...
chore(deps-dev): bump @xmldom/xmldom from 0.8.12 to 0.8.13 in /electron
2026-04-23 12:43:28 +08:00
Calcium-Ion
e2e479c11d
Merge pull request #4397 from QuantumNous/dependabot/go_modules/github.com/jackc/pgx/v5-5.9.2
...
chore(deps): bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2
2026-04-23 12:43:16 +08:00
dependabot[bot]
346de02683
chore(deps-dev): bump @xmldom/xmldom from 0.8.12 to 0.8.13 in /electron
...
Bumps [@xmldom/xmldom](https://github.com/xmldom/xmldom ) from 0.8.12 to 0.8.13.
- [Release notes](https://github.com/xmldom/xmldom/releases )
- [Changelog](https://github.com/xmldom/xmldom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/xmldom/xmldom/compare/0.8.12...0.8.13 )
---
updated-dependencies:
- dependency-name: "@xmldom/xmldom"
dependency-version: 0.8.13
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-23 02:02:02 +00:00
dependabot[bot]
6c69d60fbb
chore(deps): bump github.com/jackc/pgx/v5 from 5.9.0 to 5.9.2
...
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx ) from 5.9.0 to 5.9.2.
- [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jackc/pgx/compare/v5.9.0...v5.9.2 )
---
updated-dependencies:
- dependency-name: github.com/jackc/pgx/v5
dependency-version: 5.9.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-23 00:44:49 +00:00
Calcium-Ion
3afa439b5c
Merge pull request #4372 from feitianbubu/pr/723d3fea3a4c9092187f745fa8ac4a5e9ef1dc35
...
增加令牌最后使用时间
2026-04-23 00:34:31 +08:00
Calcium-Ion
2d4bdd297b
Show user ID in admin topup bills ( #4349 )
2026-04-23 00:33:38 +08:00
Seefs
1d83b5472a
fix: require proper verification for passkey changes ( #4393 )
2026-04-22 22:55:06 +08:00
Seefs
e729b22197
fix: refresh codex credentials for auto-disabled channels ( #4324 )
2026-04-22 22:54:52 +08:00
Seefs
5f67d2a28b
fix: use stream for codex auto test ( #4325 )
2026-04-22 22:54:41 +08:00
Seefs
d586a567e4
chore: refine codex usage modal layout ( #4386 )
...
* chore: refine codex usage modal layout
* fix: polish codex usage modal responsiveness
2026-04-22 22:54:28 +08:00