Wesley Liddick
|
c84a3d50a3
|
Merge pull request #7215 from xz-dev/fix/manifest-double-parse
fix(openai): parse Codex models manifest envelope once
|
2026-09-17 16:41:12 +08:00 |
|
Wesley Liddick
|
cd1834e0a9
|
Merge pull request #7262 from ouchihao/codex/bug-refund-balance-warning
fix(payment): base refund balance warnings on the requested amount
|
2026-09-17 16:41:00 +08:00 |
|
Wesley Liddick
|
0932e8ce0a
|
Merge pull request #7266 from ouchihao/codex/bug-subscription-loading-reset
fix(subscriptions): reset loading when clearing state
|
2026-09-17 16:40:44 +08:00 |
|
Wesley Liddick
|
ffa43607e5
|
Merge pull request #7236 from ouchihao/codex/bug-payment-amount-input
fix(payment): restore accepted text after invalid amount input
|
2026-09-17 16:40:33 +08:00 |
|
Wesley Liddick
|
57e9f6a4b8
|
Merge pull request #7238 from ouchihao/codex/bug-model-tag-tab-navigation
fix(channels): allow tabbing out of an empty model input
|
2026-09-17 16:40:23 +08:00 |
|
Wesley Liddick
|
71c0eb5126
|
Merge pull request #7184 from ouchihao/codex/bug-totp-error-messages
fix(totp): display normalized API error messages
|
2026-09-17 16:40:07 +08:00 |
|
Wesley Liddick
|
10fd1ada28
|
Merge pull request #7182 from ouchihao/codex/bug-orders-filter-page
fix(payment): reset the order page when changing status
|
2026-09-17 16:39:53 +08:00 |
|
Wesley Liddick
|
53fd5f8351
|
Merge pull request #7183 from ouchihao/codex/bug-proxy-test-dedup
fix(proxies): reuse in-flight test guards during batch testing
|
2026-09-17 16:39:34 +08:00 |
|
Wesley Liddick
|
55bde0857f
|
Merge pull request #7185 from ouchihao/codex/bug-announcement-read-results
fix(announcements): preserve successful bulk read results
|
2026-09-17 16:39:16 +08:00 |
|
Wesley Liddick
|
5f75e0d2a7
|
Merge pull request #7186 from ouchihao/codex/bug-clipboard-fallback-error
fix(clipboard): report errors thrown by the copy fallback
|
2026-09-17 16:38:55 +08:00 |
|
Wesley Liddick
|
efd86c63e6
|
Merge pull request #7235 from ouchihao/codex/bug-totp-setup-input-sync
fix(auth): keep TOTP setup digits in sync with state
|
2026-09-17 16:38:37 +08:00 |
|
Wesley Liddick
|
ea68c0e82c
|
Merge pull request #7263 from ouchihao/codex/bug-dialog-title-ids
fix(ui): keep dialog title IDs unique across instances
|
2026-09-17 16:38:16 +08:00 |
|
Wesley Liddick
|
40e7ce7fbf
|
Merge pull request #7265 from ouchihao/codex/bug-payment-config-await
fix(payment): await in-flight configuration requests
|
2026-09-17 16:37:54 +08:00 |
|
Wesley Liddick
|
d52ab27def
|
Merge pull request #7173 from HuntercodeT/fix/gemini-native-mixed-model-listing
fix(gemini): discover Antigravity mappings in native model lists
|
2026-09-17 16:37:38 +08:00 |
|
Wesley Liddick
|
7e4164c1cf
|
Merge pull request #7207 from HuntercodeT/fix/group-usage-summary-seq-scan
fix: 分组用量汇总不再全表扫 usage_logs(48.7s → 34ms)
|
2026-09-17 16:37:21 +08:00 |
|
Wesley Liddick
|
44831bb854
|
Merge pull request #7261 from HuntercodeT/chore/bump-grpc-1.83.2
chore(deps): 升级 google.golang.org/grpc 到 v1.83.2,修复 govulncheck 报告的 GO-2026-6443 / GO-2026-6348
|
2026-09-17 16:36:57 +08:00 |
|
Wesley Liddick
|
131893e449
|
Merge pull request #7237 from ouchihao/codex/bug-platform-quota-negative
fix(admin): reject negative platform quota limits before saving
|
2026-09-17 16:36:34 +08:00 |
|
Wesley Liddick
|
4daabc3d84
|
Merge pull request #7234 from ouchihao/codex/bug-pagination-jump-number
fix(pagination): handle numeric jump input
|
2026-09-17 16:36:23 +08:00 |
|
chihao.ou
|
406be7c518
|
fix(subscriptions): reset loading when clearing state
|
2026-09-17 14:59:43 +08:00 |
|
chihao.ou
|
b51f0759d4
|
fix(payment): await in-flight configuration requests
|
2026-09-17 14:58:46 +08:00 |
|
chihao.ou
|
be313735dc
|
fix(ui): keep dialog title IDs unique across instances
|
2026-09-17 14:56:58 +08:00 |
|
chihao.ou
|
017e9e98d1
|
fix(payment): base refund balance warnings on the requested amount
|
2026-09-17 14:56:33 +08:00 |
|
HuntercodeT
|
611c30f04f
|
chore(deps): 升级 google.golang.org/grpc 到 v1.83.2 修复 govulncheck 报告的两条公告
Security Scan / backend-security 自 2026-09-16 起在所有 PR 上失败,govulncheck 对
google.golang.org/grpc v1.82.1 报:
- GO-2026-6443 Server panic via missing authority or Host headers(修复于 v1.83.2)
- GO-2026-6348 Heap Memory Exhaustion via HTTP/2 DATA Frame Fragmentation(修复于 v1.83.1)
调用链在 pkg/pluginapi/v1/runtime.go 与 internal/service/plugin_runtime.go。
go get google.golang.org/grpc@v1.83.2 && go mod tidy。最小版本选择连带抬升了
golang.org/x/{crypto,mod,net,sync,term,sys,text,tools}、genproto/googleapis/rpc 与
go.opentelemetry.io/otel* 的间接依赖,均为补丁级别。
|
2026-09-17 14:33:48 +08:00 |
|
chihao.ou
|
f8e5a0d94f
|
fix(channels): allow tabbing out of an empty model input
|
2026-09-16 18:19:41 +08:00 |
|
chihao.ou
|
0838e0e610
|
fix(admin): reject negative platform quota limits before saving
|
2026-09-16 18:17:29 +08:00 |
|
chihao.ou
|
98321a054e
|
fix(payment): restore accepted text after invalid amount input
|
2026-09-16 18:17:14 +08:00 |
|
chihao.ou
|
ee9ac3e45f
|
fix(auth): keep TOTP setup digits in sync with state
|
2026-09-16 18:15:28 +08:00 |
|
chihao.ou
|
1a32b91eb2
|
fix(pagination): handle numeric jump input
|
2026-09-16 18:15:12 +08:00 |
|
Xiangzhe
|
31f3003ff5
|
fix(openai): preserve manifest key validation
|
2026-09-16 06:15:31 +00:00 |
|
Xiangzhe
|
2f16e0984e
|
fix(openai): avoid duplicate manifest parsing
|
2026-09-16 06:15:25 +00:00 |
|
HuntercodeT
|
18d483c2a1
|
fix: 分组用量汇总不再全表扫 usage_logs
GET /api/v1/admin/groups/usage-summary 在有一定数据量的库上会退化成
usage_logs 全表扫。根因是 getAllGroupUsageSummaryFromRollups 里,tail CTE
的 created_at 下界 state.tail_start 由同一条 SQL 的 state CTE 算出、再用
CROSS JOIN 交给 tail:这个值对 planner 来说要到运行期才知道,既进不了
index cond,也估不准选择性,于是只能顺序扫全表再逐行过滤。
生产实测(1721 万行 usage_logs / PostgreSQL 17):
Nested Loop (actual time=28161..48334 rows=34788)
Join Filter: (ul.created_at >= state_1.tail_start)
Rows Removed by Join Filter: 17178082
-> Seq Scan on usage_logs (actual time=0.030..47567 rows=17212870)
Buffers: shared hit=12863 read=951875
Execution Time: 48720 ms
改成先读一次水位行、在 Go 侧算出 tail_start / closed_before / retained
日期,再把它们当查询参数传进来。同一套数据上:
Index Scan using idx_usage_logs_created_at on usage_logs
Index Cond: (created_at >= $7)
Execution Time: 34 ms
水位有效性的判定(恰好一行、时区名与配置一致、水位不在未来)和无效时
退化成从 epoch 全量重算的行为,与原先 SQL 里 state_values / CASE WHEN
valid 的分支逐条对应,结果口径不变。
另外读取水位的语句不加锁,不参与 #6976 那条 FOR UPDATE / FOR KEY SHARE
的阻塞链。
|
2026-09-16 10:11:18 +08:00 |
|
chihao.ou
|
130ba634ad
|
fix(clipboard): report errors thrown by the copy fallback
|
2026-09-15 20:08:45 +08:00 |
|
chihao.ou
|
6a4938bdfb
|
fix(announcements): preserve successful bulk read results
|
2026-09-15 20:06:33 +08:00 |
|
chihao.ou
|
14636d2f0e
|
fix(totp): display normalized API error messages
|
2026-09-15 20:06:18 +08:00 |
|
chihao.ou
|
0ed735d3ba
|
fix(proxies): reuse in-flight test guards during batch testing
|
2026-09-15 20:04:49 +08:00 |
|
chihao.ou
|
21532add46
|
fix(payment): reset the order page when changing status
|
2026-09-15 20:04:35 +08:00 |
|
github-actions[bot]
|
881f320269
|
chore: sync VERSION to 0.2.5 [skip ci]
|
2026-09-15 09:02:51 +00:00 |
|
HuntercodeT
|
da74bf13a4
|
fix(gemini): discover antigravity mappings in native model lists
|
2026-09-15 16:50:46 +08:00 |
|
Wesley Liddick
|
86f93c28ee
|
Merge pull request #6977 from alfadb/fix/deepseek-model-name-validation
fix(deepseek): 未配置 model_mapping 时按官方模型名单校验,不再透传未知模型名
v0.2.5
|
2026-09-15 16:20:31 +08:00 |
|
Wesley Liddick
|
30ed40a56a
|
Merge pull request #7074 from Brisbanehuang/codex/fix-codex-quota-windows
fix(scheduler): 按规范 5h/7d 窗口读取 Codex 配额与重置时间
|
2026-09-15 16:17:37 +08:00 |
|
Wesley Liddick
|
b8275209e8
|
Merge pull request #7162 from HuntercodeT/fix/antigravity-gemini-sse-separator
fix(antigravity): gemini 透传 SSE 事件之间不再多写一个空行(Antigravity CLI invalid stream chunk)
|
2026-09-15 16:17:25 +08:00 |
|
Wesley Liddick
|
25c21aedda
|
Merge pull request #7129 from kk-418/fix/grok-build-responses-sequence-number
fix(responses): 始终在 Responses SSE 中写出 sequence_number 避免反序列化失败
|
2026-09-15 15:28:33 +08:00 |
|
Wesley Liddick
|
2d9af8592f
|
Merge pull request #7153 from hezhaoqian1/codex/upstream-api-key-provider-filter
feat: filter API key groups by provider
|
2026-09-15 15:26:29 +08:00 |
|
HuntercodeT
|
8447bdd368
|
fix(antigravity): gemini 透传 SSE 事件之间不再多写一个空行
handleGeminiStreamingResponse 把上游每条 data 行改写成 "data: ...\n\n",
紧接着又把上游的空分隔行原样透传成第三个 "\n",下游看到的事件之间是
"\n\n\n"。google-genai 的 Go SDK(Antigravity CLI 在用)按 "\n\n" 切事件,
多出的 "\n" 粘到下一个事件开头,前缀变成 "\ndata" 而报
"iterateResponseStream: invalid stream chunk",每条流都在第二个事件中断。
空分隔行不再透传(data 分支已经写过 "\n\n"),附回归测试:两个事件
(LF 与 CRLF 各一)经过后输出必须恰好是一个空行分隔,并按 "\n\n" 切帧
逐个校验前缀。
Fixes #7161
|
2026-09-15 15:10:45 +08:00 |
|
shaw
|
32682a4f84
|
chore: update sponsors
|
2026-09-15 14:01:28 +08:00 |
|
hezhaoqian1
|
55a95d4c67
|
feat: filter API key groups by provider
|
2026-09-15 11:16:17 +08:00 |
|
alfadb
|
a939553c87
|
fix(deepseek): 模型名校验不再默认兜底,未配置映射时按官方名单校验
- 未配置 model_mapping 的 DeepSeek 账号不再放行任意模型名,改为官方名单精确匹配
(deepseek-flash / deepseek-v4-pro / deepseek-v4-flash /
deepseek-v4-flash-vision-exp / deepseek-v4-pro-0813)
- 校验前先归一化:剥离 Claude Code 客户端上下文后缀 [1m](含重复形式)并统一小写,
使官方 Claude Code 接入写法 deepseek-flash[1m] 继续可用
- 未知模型名在调度阶段即拒绝,返回 404 model_not_found,避免透传上游后触发
per-(账号,模型) 冷却、并避免上游把不认识的模型名静默兜底成 deepseek-flash
- 出站前剥离泄漏的 [1m] 后缀,仅作用于 DeepSeek 平台
- 配置了 model_mapping 的账号语义不变(映射优先)
|
2026-09-15 10:42:29 +08:00 |
|
Wesley Liddick
|
badfad8b72
|
Merge pull request #6257 from 88766lawrence/fix/oauth-promo-code-6216
fix(auth): preserve promo codes through OAuth registration
|
2026-09-15 09:01:39 +08:00 |
|
Wesley Liddick
|
1be482c313
|
Merge pull request #7148 from Wei-Shaw/revert-7110-codex/bug-batch-image-access-session
Revert "fix(batch-image): scope access cache to the current user"
|
2026-09-15 09:00:23 +08:00 |
|
Wesley Liddick
|
325213ae66
|
Revert "fix(batch-image): scope access cache to the current user"
|
2026-09-15 08:59:52 +08:00 |
|