Wesley Liddick
0678b24d58
Merge pull request #6283 from okbexx/feat/usage-compaction-kind
...
feat(usage): track native compaction requests
2026-08-31 11:19:37 +08:00
Wesley Liddick
b369fbca15
Merge pull request #6395 from lylelllll/fix/account-expiry-timezone
...
fix(frontend): clarify local timezone for expiry inputs
2026-08-31 11:18:55 +08:00
Wesley Liddick
36ee193e3c
Merge pull request #6367 from qiujun8023/fix/usage-stats-cards-mobile-horizontal-scroll
...
fix(frontend): prevent hidden cache tooltip from causing horizontal scroll on mobile
2026-08-31 11:18:03 +08:00
Wesley Liddick
1dd0f2e5dc
Merge pull request #6384 from alfadb/fix/unify-usage-window-style
...
fix(frontend): unify usage window rendering and tighten alert thresholds
2026-08-31 11:17:09 +08:00
Wesley Liddick
f34735f462
Merge pull request #6388 from alfadb/feature/ollama-usage-cn-platforms
...
feat(ollama): 用量窗口支持挂在国产三家平台下的 Ollama Cloud 账号
2026-08-31 11:16:25 +08:00
Wesley Liddick
a2d7d41185
Merge pull request #6325 from 251392463/fix/grok-responses-vision-tool-output
...
fix(grok): preserve Responses vision tool output images
2026-08-31 11:15:33 +08:00
Wesley Liddick
03ab687686
Merge pull request #5866 from wucm667/fix/issue-5863-scope-monitor-groups
...
fix: scope channel monitor groups by user access
2026-08-31 11:15:13 +08:00
Wesley Liddick
2e756b71f2
Merge pull request #6198 from xuhaihan/fix/openai-reauth-refresh-token
...
fix(accounts): reauthorize OpenAI with refresh token
2026-08-31 11:14:12 +08:00
Wesley Liddick
fbc69322af
Merge pull request #6254 from wucm667/fix/issue-6249-configurable-image-cooldown
...
feat(openai): configure image tool cooldown
2026-08-31 11:13:52 +08:00
Wesley Liddick
414489d152
Merge pull request #5469 from wucm667/fix/issue-5467-passthrough-http-bridge
...
fix(openai-ws): bridge oversized passthrough requests
2026-08-31 11:13:35 +08:00
Wesley Liddick
50a9dd7a64
Merge pull request #6386 from wucm667/fix/issue-6383-isolate-passthrough-ws
...
fix(openai): isolate passthrough websocket sessions
2026-08-31 11:13:16 +08:00
Wesley Liddick
a4156eea10
Merge pull request #6385 from wucm667/fix/issue-6381-preserve-quota-limits
...
fix(admin): preserve quota limits on partial group updates
2026-08-31 11:12:56 +08:00
Wesley Liddick
e0ecb55d4b
Merge pull request #4872 from wucm667/fix/issue-4845-reset-scheduler-rate-limit
...
fix(account): clear rate limit on quota reset
2026-08-31 11:12:35 +08:00
wucm667
897faea333
fix(account): reset quota cooldown atomically
2026-08-31 09:12:09 +08:00
lylelllll
94edcd5d81
chore: remove second misplaced component copy
2026-08-30 23:31:59 +08:00
lylelllll
3673702af5
chore: remove misplaced uploaded component copy
2026-08-30 23:27:08 +08:00
lylelllll
5778739cdb
fix(frontend): use strict local expiry parsing for redeem codes
2026-08-30 23:20:59 +08:00
lylelllll
81e461f651
fix(frontend): parse local expiry datetimes strictly
2026-08-30 23:19:45 +08:00
lylelllll
b7aca87fd0
test(frontend): cover local datetime parsing across timezones
2026-08-30 23:17:11 +08:00
lylelllll
ae1bcdc25d
fix(frontend): clarify expiry timezone in Chinese labels
2026-08-30 23:15:54 +08:00
lylelllll
263605779c
fix(frontend): clarify expiry timezone in English labels
2026-08-30 23:13:52 +08:00
lylelllll
d66bc88e68
fix(frontend): apply expiry input changes in source paths
2026-08-30 22:11:22 +08:00
lylelllll
8177f27aa3
fix(frontend): clarify local timezone for expiry inputs
2026-08-30 22:10:15 +08:00
wucm667
d5a0124637
fix(openai): isolate passthrough websocket sessions
2026-08-30 16:49:01 +08:00
alfadb
30b29e51e8
feat(ollama): 用量窗口支持挂在国产三家平台下的 Ollama Cloud 账号
...
Ollama Cloud 用量窗口(浏览器会话、5h/7d 快照、自动刷新、同 key 组共享)此前
只认 platform ∈ {openai, anthropic} 的 apikey 账号。但网关对 kimi/zhipu/deepseek
的 apikey 账号同样按 credentials.base_url 转发,用户把 Ollama Cloud 的 key 挂在
这三个平台下跑 Ollama Cloud 托管的 glm/kimi/deepseek 模型时,请求转发正常,用量
窗口却完全不可用。
- 平台白名单放开到 {openai, anthropic, kimi, zhipu, deepseek};type='apikey'
与官方 ollama.com base_url 的限制不变
- Go 侧收敛为 isOllamaCloudUsagePlatform,SQL 侧收敛为
ollamaCloudUsagePlatformsSQL,6 处白名单只引用单一来源,并补两侧互为镜像的
漂移守卫测试
- CN 周期余额/额度探测跳过 ollama 用量账号:其探测端点由 base_url 衍生,对
ollama.com 会被出站 URL 白名单拒绝,每轮都白跑并产生噪声
- 前端账号列表 CN 分支在 eligible 时改渲染 Ollama 用量窗口,并跳过 CN 额度/
余额子单元格(同上,渲染出来只会是一行探测报错)
2026-08-30 16:38:11 +08:00
wucm667
9f1effd71c
fix(admin): preserve quota limits on partial group updates
2026-08-30 16:36:13 +08:00
alfadb
6532d5b61e
fix(frontend): unify usage window rendering and tighten alert thresholds
...
CN provider accounts (Kimi/Zhipu/DeepSeek) and the monitor quota view each
hand-rolled their own usage bar, so the same account column rendered three
different label styles, bar widths and threshold palettes. Both now reuse
UsageProgressBar, the component the other five platforms already share.
Also move the default utilization thresholds from >=100 red / >=80 amber to
>=90 / >=75. Turning red only once the quota is exhausted is an after-the-fact
notice rather than a warning. The remainingCapacity mode keeps its 20/50 pair,
which is already a warning semantic.
- UsageProgressBar: add labelWidth 'fixed' | 'auto' so the monitor view can
render composite labels ("Pro/7d") without breaking column alignment; the
fixed branch is byte-identical, so the existing platforms are untouched
- drop the superseded utilizationColor/utilizationTextColor/formatReset copies
- shorten CN window labels to 5h / 7d and remove the now-dead resetSoon keys
2026-08-30 15:34:21 +08:00
wucm667
a3bbf33c05
fix(monitor): scope groups by user access
2026-08-30 09:28:40 +08:00
wucm667
7c616db07a
fix(openai-ws): bridge oversized passthrough requests
2026-08-30 08:41:08 +08:00
qiujun and Claude Opus 5
0aef702b66
fix(frontend): prevent hidden cache tooltip from causing horizontal scroll
...
The cache token breakdown tooltip in `UsageStatsCards` was hidden with
`opacity-0`. An element with zero opacity is invisible but still takes part
in layout, so its fixed `w-56` (224px) width kept contributing to the
document's scrollable overflow.
The tooltip is anchored with `left-1/2 -translate-x-1/2`, and on mobile the
stats grid falls back to `grid-cols-2`, which puts the trigger icon close to
the right edge of the viewport. Centering a 224px box on that point pushes it
roughly 26-49px past the right edge, so `/usage` and `/admin/usage` gained a
phantom horizontal scroll with nothing visible to explain it.
Switching the hidden state to `hidden` (`display: none`) takes the tooltip out
of the flow entirely, while `group-hover:block` / `group-focus:block` keep the
existing hover and keyboard-focus behaviour. The 150ms opacity transition is
dropped, since `display` cannot be transitioned.
Verified over Chrome DevTools Protocol at 360/390/414px: `documentElement.scrollWidth`
goes from 424 back to 390 (equal to `clientWidth`) with no other overflowing
elements remaining, and the tooltip still renders at 224x86 on focus. A sweep of
all 39 application routes confirmed these were the only two affected pages.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-29 17:57:36 +08:00
alfadb
b5827cfd54
fix(pricing): align DeepSeek billing with official peak/off-peak rates
...
同步 DeepSeek 官方峰谷价格与模型定价。
2026-08-29 17:30:23 +08:00
m11y
ea4291a92c
fix(anthropic): scope Fable scheduling threshold to Fable models
...
让 Fable 7d_oi 调度阈值仅限制 Fable 模型族,不暂停整个 Anthropic 账号。
2026-08-29 17:30:18 +08:00
101Harry
32ac921f24
fix(anthropic): avoid Fable OAuth system prompt refusal
...
修复 Fable OAuth 请求因系统提示词形态导致空响应的问题。
2026-08-29 17:29:30 +08:00
chensunlai
ed12ea7163
fix(frontend): authenticate Codex API key mode inline
...
让 Codex API Key 模式在配置文件中正确发送 Bearer 鉴权并保留图像工具授权。
2026-08-29 17:29:26 +08:00
Ryan Chou
eb4237a2b0
fix(billing): 渠道定价对带后缀的模型名不再被官方兜底价覆盖
...
修复带后缀模型无法命中渠道自定义定价的问题。
2026-08-29 17:29:21 +08:00
Brisbanehuang
706b5676a6
fix(groups): show API error messages on create and update
...
保存分组失败时显示标准化 API 错误信息。
2026-08-29 17:28:20 +08:00
wucm667
c31fe2ed9e
fix(admin): preserve saved SMTP TLS mode in test endpoints
...
保留测试邮件端点已保存的 SMTP TLS 配置,区分省略与显式 false。
2026-08-29 17:28:00 +08:00
Wesley Liddick
987588eaa1
Merge pull request #6358 from Wei-Shaw/fix/openai-spark-model-429-rate-limit
...
fix(openai): scope Spark quota 429 to model
2026-08-29 15:44:37 +08:00
shaw
804679d996
fix(openai): preserve model scope on stream failover
2026-08-29 15:25:10 +08:00
shaw
571d1e1d9b
fix(openai): isolate websocket semantic rate limits
2026-08-29 11:14:54 +08:00
shaw
3c22e78af0
fix(openai): preserve Spark quota reset semantics
2026-08-29 11:08:01 +08:00
shaw
5d9c7abed5
fix(openai): scope Spark quota 429 to model
2026-08-29 09:57:08 +08:00
Wesley Liddick
ac18c588c8
Merge PR #6165
...
修复上游倍率探测导致账号列表整页刷新的问题
2026-08-29 09:12:05 +08:00
Wesley Liddick
b83284071a
Merge PR #5348
...
fix(subscription): 周/月窗口展示的重置时间与实际推进锚点对齐
2026-08-29 09:10:07 +08:00
Wesley Liddick
fd13c72e95
Merge PR #6330
...
feat(zhipu): support team GLM Coding Plan usage query
2026-08-29 09:08:42 +08:00
Wesley Liddick
3c2e9a43b9
Merge PR #5860
...
fix(antigravity): preserve mixed built-in chat tools
2026-08-29 09:07:27 +08:00
Wesley Liddick
ca319d09f2
Merge PR #6280
...
fix(update): strip hyphenated pre-release/custom suffix in version comparison
2026-08-29 09:06:10 +08:00
Wesley Liddick
46598dd491
Merge PR #6306
...
fix(openai): emit pre-output SSE keepalive on the /v1/responses passthrough path
2026-08-29 09:04:46 +08:00
Wesley Liddick
3045b3ade1
Merge PR #6316
...
fix(openai): honor Claude Code session id for messages sticky routing
2026-08-29 09:03:14 +08:00
Wesley Liddick
604360d1cc
Merge PR #6328
...
fix(frontend): 批量编辑显式提交 codex_fingerprint_mode=off,修复无法关闭指纹收敛
2026-08-29 09:02:25 +08:00