chihao.ou
1af3269adb
fix(groups): clean up modal listeners and pending searches
2026-09-22 21:43:13 +08:00
chihao.ou
1ca54bcc25
fix(profile): avoid starting TOTP cooldowns after unmount
2026-09-22 21:42:54 +08:00
chihao.ou
7ba6efe805
fix(subscriptions): use calendar dates for expiry labels
2026-09-22 21:40:14 +08:00
chihao.ou
4d667f1b08
fix(users): show normalized API errors in the balance dialog
2026-09-22 21:39:54 +08:00
chihao.ou
5c38d372c1
fix(accounts): keep temporary unschedulable status scoped to the current account
2026-09-22 21:37:01 +08:00
chihao.ou
9e4010695b
fix(channel-monitor): ignore stale detail requests
2026-09-22 21:36:42 +08:00
Thinker-Joe
4daea093f9
fix(openai): keep OAuth image aliases in the test picker
...
Image choices were resolved from DefaultModels IDs and from mapping keys, so an
alias whose target is a local image model (paint -> gpt-image-2.5-flare) never
reached the picker: IsModelSupported only matches keys, and a public name is not
an image model. Resolve the public name to its target before deciding, and only
synthesize an entry when the target is an image model.
Update the fixture of
TestFetchOpenAIAccountModelsOAuthLabelsLocalImageModelsLikeUpstream: it asserted
on an upstream slug the account did not configure, which conflicts with the
account-scoped projection. Coverage is preserved by configuring that slug and by
a new test asserting unconfigured text models stay out.
2026-09-22 21:15:20 +08:00
lcy
1d640c40e5
fix(tools): 清洗工具 Schema 里非法的 null required,修复上游 400
...
JSON Schema 规定 required 必须是属性名数组,但部分客户端会发成 null,
严格校验的上游直接拒绝整个请求:
xAI 400 /required: null is not of type "array"
Moonshot 400 At path 'required': required must be an array
同样的模型发纯文本请求一切正常,只有带 tools 时才失败,因此表现得像模型
或渠道故障。
三处改动:
1. 清洗 required:null 时整键删除,而不是替换成 []。JSON Schema 里缺省
required 等价于无必填项,删除保留了客户端原意,置 [] 反而凭空造出一条
客户端从未声明的约束。
2. 把 input_schema 也识别为 schema 根。此前只认 OpenAI Responses 的
parameters 拼法,Anthropic Messages 的工具定义因此绕过整套清洗。
3. 在 ForwardAsAnthropic 入口调用清洗。/v1/messages 此前不做任何工具
Schema 处理;该函数会分流到原生 Anthropic 直通、Chat Completions 与
Responses 三条路径,每条都原样透传 tools,所以必须在分流之前处理。
另外把 contentSchema 补进子 schema 关键字:它承载嵌套 schema,其中的
null required 此前会漏网。
配套测试同时锁定反向保证:default / examples / const / enum 里装的是实例
数据,字面量 {"required": null} 属于客户端 payload,不能被改写。现有的
关键字白名单下降本就如此,测试用于防止它退化成无差别遍历。
2026-09-22 20:49:24 +08:00
Wesley Liddick
b0e32fe5be
Merge pull request #7427 from xlplbo/fix/openai-legacy-scheduler-decision
...
fix(openai): 非高级调度补齐选号决策并按 previous_response 路由
2026-09-22 20:34:59 +08:00
Wesley Liddick
65f086d2d0
Merge pull request #7479 from lzfxxx/fix/opencode-commandcode-cf1010
...
fix(gateway): prevent Cloudflare 1010 from disabling OpenCode and Command Code accounts
2026-09-22 20:32:42 +08:00
Wesley Liddick
de6388aeca
Merge pull request #5443 from llissery/fix/vertex-429-cooldown
...
fix(gemini): honor RetryInfo on 429 and stop cooling Vertex service accounts until PST midnight
2026-09-22 20:30:37 +08:00
Wesley Liddick
55108ee877
Merge pull request #7394 from Achordchan/fix/baseten-reasoning-budget
...
fix(gateway): recognize Baseten reasoning budget errors
2026-09-22 20:30:21 +08:00
Wesley Liddick
231e72fdde
Merge pull request #7339 from superman2003/fix/openai-stream-error-status-field
...
fix(openai): honor error.status when classifying in-stream failures
2026-09-22 20:30:08 +08:00
Wesley Liddick
a079a6596a
Merge pull request #7342 from Pluviobyte/codex/fix-inactive-proxy-backup
...
fix(proxies): exclude inactive fallback targets
2026-09-22 20:29:52 +08:00
Wesley Liddick
ed2360d7ea
Merge pull request #7341 from Pluviobyte/codex/fix-proxy-expiry-renewal
...
fix(proxies): preserve renewals during expiry sweeps
2026-09-22 20:29:39 +08:00
Wesley Liddick
b717ac7f0b
Merge pull request #7289 from wucm667/fix/issue-7281-platform-quota-options
...
fix(admin): align platform quota editor with supported platforms
2026-09-22 20:29:26 +08:00
Wesley Liddick
c619ff8474
Merge pull request #7404 from a408665321/codex/fix-oauth-credentials-merge
...
fix(account): preserve model mapping on OAuth reauth
2026-09-22 20:29:01 +08:00
Wesley Liddick
2448a38b55
Merge pull request #7395 from zhuzhihaocool-bit/fix/codex-base-url-v1
...
fix(frontend): ensure Codex base URLs include /v1
2026-09-22 20:28:39 +08:00
Wesley Liddick
5fd3461142
Merge pull request #7418 from ouchihao/codex/bug-pricing-exponent
...
fix(pricing): parse scientific notation in token bounds
2026-09-22 20:28:12 +08:00
Wesley Liddick
c1319917cf
Merge pull request #7417 from ouchihao/codex/bug-payment-callback-slash
...
fix(payment): trim callback base URL trailing slashes
2026-09-22 20:28:03 +08:00
Wesley Liddick
a5015e1fc4
Merge pull request #7354 from baryon/contrib/codex-deepseek-input-image-url
...
fix(openai): alias DeepSeek Responses input_image with url
2026-09-22 20:27:35 +08:00
Wesley Liddick
738ef1c73c
Merge pull request #7442 from wucm667/fix/issue-7436-image-balance-error
...
fix(images): preserve insufficient balance failures
2026-09-22 20:27:23 +08:00
Wesley Liddick
5af29a3b93
Merge pull request #7422 from ouchihao/codex/bug-user-api-keys-stale
...
fix(users): keep API key results scoped to the selected user
2026-09-22 20:27:07 +08:00
Wesley Liddick
62a8919a1c
Merge pull request #7365 from ouchihao/codex/bug-monitor-template-stale-list
...
fix(monitor): ignore stale template picker responses
2026-09-22 20:26:58 +08:00
Wesley Liddick
1ea00258d0
Merge pull request #7375 from ouchihao/codex/bug-balance-history-stale
...
fix(users): ignore superseded balance history requests
2026-09-22 20:26:33 +08:00
Wesley Liddick
023b38354f
Merge pull request #7373 from ouchihao/codex/bug-user-groups-load-guard
...
fix(users): wait for group configuration before enabling save
2026-09-22 20:26:23 +08:00
Wesley Liddick
a765b3c176
Merge pull request #7367 from ouchihao/codex/bug-rpm-override-empty
...
fix(groups): require integer RPM overrides before adding
2026-09-22 20:26:11 +08:00
Wesley Liddick
ca47fa352c
Merge pull request #7376 from ouchihao/codex/bug-group-rate-positive
...
fix(groups): reject negative custom rates before adding
2026-09-22 20:26:00 +08:00
Wesley Liddick
680a992fc9
Merge pull request #7426 from xlplbo/fix/openai-codex-turn-metadata-ascii
...
fix(openai): 改写 Codex turn metadata 时保留非 ASCII 转义
2026-09-22 20:25:47 +08:00
Wesley Liddick
f2e55bf4d7
Merge pull request #7420 from ouchihao/codex/bug-error-detail-stale
...
fix(usage): ignore superseded error detail requests
2026-09-22 20:25:26 +08:00
Wesley Liddick
c96d36ec95
Merge pull request #7374 from ouchihao/codex/bug-search-ime
...
fix(search): wait for committed IME input before searching
2026-09-22 20:25:15 +08:00
Wesley Liddick
e4f97a53ec
Merge pull request #7366 from ouchihao/codex/bug-user-attribute-clear-metadata
...
fix(users): persist cleared custom attribute hints
2026-09-22 20:24:59 +08:00
Wesley Liddick
9e175bd491
Merge pull request #7364 from ouchihao/codex/bug-group-replace-errors
...
fix(users): show errors when group replacement fails
2026-09-22 20:24:47 +08:00
Wesley Liddick
e7d348868c
Merge pull request #7264 from ouchihao/codex/bug-antigravity-mapping-retry
...
fix(accounts): retry default mappings after a failed fetch
2026-09-22 20:24:32 +08:00
Wesley Liddick
c0b23ff791
Merge pull request #7372 from ouchihao/codex/bug-admin-settings-retry
...
fix(settings): allow retrying failed initial admin settings loads
2026-09-22 20:24:21 +08:00
Wesley Liddick
322cc5e5f1
Merge pull request #7363 from ouchihao/codex/bug-user-attribute-number
...
fix(users): keep numeric custom attribute values as strings
2026-09-22 20:24:12 +08:00
Wesley Liddick
23dc073e65
Merge pull request #7419 from ouchihao/codex/bug-monitor-refresh-preference
...
fix(monitor): preserve the saved auto-refresh preference
2026-09-22 20:24:00 +08:00
wucm667
a5d8db2445
fix(responses): strip oversized input item IDs
2026-09-22 19:47:12 +08:00
GongTengXY
de28eea11f
fix(openai): filter account test models by model mapping
2026-09-22 19:34:15 +08:00
wucm667
66843cc95c
fix(moderation): handle trailing Anthropic system messages
2026-09-22 19:07:04 +08:00
Achord Chan
f867e3e2ec
test(antigravity): check schema properties type assertion
2026-09-22 18:34:36 +08:00
Wesley Liddick
1716e99151
Merge pull request #7466 from nagi330/add_grok4-7_support-0922
...
feat(grok):add grok 4.7 support
2026-09-22 18:13:37 +08:00
Wesley Liddick
483cd56924
Merge pull request #7361 from wucm667/feat/issue-7357-optional-default-groups
...
feat(simple): make startup default group creation optional
2026-09-22 18:13:18 +08:00
Wesley Liddick
b6c6f1add5
Merge pull request #7473 from lzfxxx/fix/codex-manifest-opencode-go
...
fix(codex): include OpenCode Go in model capability resolution
2026-09-22 18:13:00 +08:00
Wesley Liddick
3442a6a53e
Merge pull request #7432 from doublepi123/fix/antigravity-compat-bare-gemini-model
...
fix(antigravity): 裸 Gemini 模型名在所有转发入口解析到思考变体,修复 404/502
2026-09-22 18:12:34 +08:00
Wesley Liddick
9d9e90960e
Merge pull request #7448 from feeeei/fix/gemini-transport-error-failover
...
fix(gemini): 传输层错误转 failover,不再同账号退避重试
2026-09-22 18:12:19 +08:00
Wesley Liddick
fcd07ba0af
Merge pull request #7475 from Pluviobyte/codex/fix-proxy-restore-probe
...
fix(proxies): invalidate billing probe on fallback restore
2026-09-22 18:12:04 +08:00
Wesley Liddick
405727805a
Merge pull request #7477 from Pluviobyte/codex/fix-subscription-reduction-remainder
...
fix(subscriptions): preserve partial days during redemption deductions
2026-09-22 18:11:46 +08:00
Wesley Liddick
a46493724b
Merge pull request #7476 from Pluviobyte/codex/fix-subscription-reduction-lock
...
fix(subscriptions): lock negative redemption updates
2026-09-22 18:11:11 +08:00
Wesley Liddick
d8eeb0989b
Merge pull request #7481 from spongehah/fix/selection-skip-account-count
...
perf: 选号读取分组时不再聚合账号数
2026-09-22 18:11:00 +08:00