Wesley Liddick and GitHub
a1106e8167
Merge pull request #2165 from zhangdeyu/feature/support-select-search
...
feat: Select 和 GroupSelector 组件支持自动搜索
2026-05-05 21:10:07 +08:00
Wesley Liddick and GitHub
ab918fde37
Merge pull request #2180 from touwaeriol/feat/fix-ops-cleanup-settings
...
fix(ops-cleanup): wire UI data-retention settings into OpsCleanupService
2026-05-05 20:36:46 +08:00
Wesley Liddick and GitHub
d2213695f2
Merge pull request #2204 from lyen1688/pr-2169
...
feat: 完善了 OpenAI的GPT模型在 Claude Code 上的工具兼容性和缓存命中率
2026-05-05 20:30:21 +08:00
shaw
11ae6f2105
fix(rate-limit): remove 429 cooldown config option
2026-05-05 20:11:12 +08:00
Wesley Liddick and GitHub
37f7c7128c
Merge pull request #2120 from gaoren002/fix/rate-limit-429-cooldown-config
...
fix(rate-limit): make 429 fallback cooldown configurable
2026-05-05 19:46:11 +08:00
Wesley Liddick and GitHub
94e494319a
Merge pull request #2197 from learnerLj/fix/ws-preflight-ping-fc-output-recovery
...
fix: preflight ping 恢复时跳过携带 function_call_output 的请求
2026-05-05 17:21:21 +08:00
shaw
dc05d4b250
chore: remove openspec and update axios
2026-05-05 17:13:25 +08:00
Wesley Liddick and GitHub
ad9b88f0e3
Merge pull request #2191 from 2ue/feat/openai-image-generation-controls
...
完善 GPT Image 访问控制、计费、并发与流式稳定性
2026-05-05 16:56:20 +08:00
shaw
df722c9a6e
fix: remove OpenAI unknown model fallback
2026-05-04 11:43:00 +08:00
Wesley Liddick and GitHub
c129825f9b
Merge pull request #2116 from KnowSky404/fix/openai-bulk-edit-compact-config
...
fix: add OpenAI compact bulk edit fields
2026-05-04 00:14:46 +08:00
Wesley Liddick and GitHub
ff50b8b6ea
Merge pull request #2170 from deqiying/fix/openai-ws-passthrough-reasoning-effort
...
fix(openai): 修复 WS passthrough 用量记录缺失 reasoning effort 和 User-AgentFix/OpenAI ws passthrough reasoning effort
2026-05-04 00:13:42 +08:00
shaw
4cbf518f0a
fix: preserve raw chat completions usage billing
2026-05-03 23:31:43 +08:00
Wesley Liddick and GitHub
dc09b367dc
Merge pull request #2143 from alfadb/fix/openai-apikey-cc-default-routing
...
修复:APIKey 账户上游不支持 OpenAI Responses API 时的 Chat Completions 路由回退
2026-05-03 22:58:26 +08:00
shaw
0b84d12dbb
fix: correct affiliate audit record sources
2026-05-03 22:12:57 +08:00
Wesley Liddick and GitHub
76e2503d5e
Merge pull request #2169 from lyen1688/feat/admin-affiliate-records
...
feat: 新增管理后台邀请返利记录页面
2026-05-03 21:10:33 +08:00
shaw
47fb38bca1
fix: record zero OpenAI usage logs
2026-05-03 17:43:56 +08:00
shaw
72d5ee4cd1
fix: drain OpenAI compat streams for usage
2026-05-03 17:11:27 +08:00
shaw
b2bdba78dd
stabilize image request handling
2026-05-03 14:56:09 +08:00
shaw
9d801595c9
test: 更新管理员设置契约字段
2026-04-30 13:48:27 +08:00
Wesley Liddick and GitHub
9c448f89a8
Merge pull request #2118 from DaydreamCoding/fix/restore-pagination-localStorage
...
fix: 恢复表格分页大小 localStorage 持久化
2026-04-30 13:42:18 +08:00
shaw
73b872998e
feat: 添加 Anthropic 缓存 TTL 注入开关
2026-04-30 13:38:22 +08:00
shaw
094e1171ef
fix(openai): infer previous response for item references
2026-04-30 12:02:08 +08:00
shaw
733627cf9d
fix: improve sticky session scheduling
2026-04-30 11:38:11 +08:00
shaw
8bf2a7b88a
fix(scheduler): resolve SetSnapshot race conditions and remove usage throttle
...
Backend: Fix three race conditions in SetSnapshot that caused account
scheduling anomalies and broken sticky sessions:
- Use Lua CAS script for atomic version activation, preventing version
rollback when concurrent goroutines write snapshots simultaneously
- Add UnlockBucket to release rebuild lock immediately after completion
instead of waiting 30s TTL expiry
- Replace immediate DEL of old snapshots with 60s EXPIRE grace period,
preventing readers from hitting empty ZRANGE during version switches
Frontend: Remove serial queue throttle (1-2s delay per request) from
usage loading since backend now uses passive sampling. All usage
requests execute immediately in parallel.
2026-04-29 22:48:39 +08:00
shaw
40feb86ba4
fix(httputil): add decompression bomb guard and fix errcheck lint
2026-04-29 22:11:45 +08:00
Wesley Liddick and GitHub
f972a2faf2
Merge pull request #1990 from haha1903/feat/zstd-request-decompression
...
feat(httputil): decode zstd/gzip/deflate request bodies
2026-04-29 22:08:28 +08:00
Wesley Liddick and GitHub
55a7fa1e07
Merge pull request #2005 from gaoren002/pr/openai-strip-passthrough-fields
...
fix(openai): strip unsupported passthrough fields
2026-04-29 21:46:19 +08:00
shaw
5e54d492be
fix(lint): check type assertion error in codex transform test
...
The errcheck linter flagged an unchecked type assertion on
item["type"].(string). Use the two-value form with require.True
to satisfy the linter and fail clearly on unexpected types.
2026-04-29 21:35:18 +08:00
Wesley Liddick and GitHub
8d6d31545f
Merge pull request #2068 from Ogannesson/fix/openai-drop-reasoning-items-from-input
...
fix(openai): drop reasoning items from /v1/responses input on OAuth path
2026-04-29 21:32:52 +08:00
Wesley Liddick and GitHub
17ced6b73a
Merge pull request #2027 from hansnow/codex/fix-api-key-rate-limit-reset
...
fix(api-key): reset rate limit usage cache
2026-04-29 21:27:52 +08:00
Wesley Liddick and GitHub
7f8f3fe0dd
Merge pull request #2100 from KnowSky404/fix/codex-cli-edit-resend-tool-continuation
...
[codex] fix WS continuation inference for explicit tool replay
2026-04-29 21:14:55 +08:00
Wesley Liddick and GitHub
46f06b2498
Merge pull request #2050 from zvensmoluya/fix/openai-compact-payload-fields
...
fix(openai): preserve current Codex compact payload fields
2026-04-29 21:03:48 +08:00
shaw
7ce5b83215
chore: remove superpowers docs
2026-04-29 21:00:30 +08:00
Wesley Liddick and GitHub
27cad10d30
Merge pull request #2030 from KnowSky404/feature/account-bulk-edit-scope-and-compact
...
feat: support filtered account bulk edit and align compact OpenAI bulk fields
2026-04-29 20:56:43 +08:00
Wesley Liddick and GitHub
ff6fa0203d
Merge pull request #2058 from ivanvolt-labs/fix-responses-function-tool-choice
...
fix: use Responses-compatible function tool_choice format
2026-04-29 20:43:43 +08:00
Wesley Liddick and GitHub
4d676dddd1
Merge pull request #2066 from alfadb/fix/anthropic-stream-eof-failover
...
fix(gateway): Anthropic 流式 EOF 失败移交 + SSE error 帧标准化
2026-04-29 17:09:47 +08:00
shaw
93d91e20b9
fix(vertex): audit fixes for Vertex Service Account feature ( #1977 )
...
- Security: force token_uri to Google default, preventing SSRF via crafted service account JSON
- Dedup: extract shared getVertexServiceAccountAccessToken() to eliminate ~35 lines of duplication between ClaudeTokenProvider and GeminiTokenProvider
- Fix: apply model mapping + Vertex model ID normalization in forward_as_responses and forward_as_chat_completions paths
- Fix: exclude service_account from AI Studio endpoint selection (Vertex cannot serve generativelanguage.googleapis.com)
- Feature: add model restriction/mapping UI for service_account in EditAccountModal
- Dedup: extract VERTEX_LOCATION_OPTIONS to shared constants
- i18n: replace all hardcoded Chinese strings in Vertex UI with translation keys
2026-04-29 16:53:09 +08:00
Wesley Liddick and GitHub
63ef23108c
Merge pull request #1977 from sholiverlee/vertex
...
feat: 支持 Vertex Service Account(Anthropic / Gemini)
2026-04-29 15:48:26 +08:00
Wesley Liddick and GitHub
bf43fb4e38
Merge pull request #2044 from VitalyAnkh/fix/openai-image-apikey-versioned-base-url
...
fix(openai): honor versioned image base URLs
2026-04-29 15:20:14 +08:00
Wesley Liddick and GitHub
a16c66500f
Merge pull request #2090 from touwaeriol/feat/ops-retention-zero
...
feat(ops): allow retention days = 0 to wipe table on each scheduled cleanup
2026-04-29 15:12:30 +08:00
shaw
da4b078df2
chore: update sponsors
2026-04-29 14:41:35 +08:00
Wesley Liddick and GitHub
b0a2252ed1
Merge pull request #2051 from DaydreamCoding/openai-fast-flex-policy
...
feat(openai): OpenAI Fast/Flex Policy 完整实现(HTTP + WebSocket + Admin)
2026-04-28 12:14:43 +08:00
Wesley Liddick and GitHub
c92b88e34a
Merge pull request #1996 from Cloud370/fix/claude-code-read-empty-pages
...
fix(anthropic): drop empty Read.pages in responses-to-anthropic tool input
2026-04-27 08:47:13 +08:00
Wesley Liddick and GitHub
ed0c85a17e
Merge pull request #2006 from gaoren002/pr/openai-images-explicit-session
...
fix(openai): avoid implicit image sticky sessions
2026-04-27 08:43:40 +08:00
Wesley Liddick and GitHub
a0b5e5bfa0
Merge pull request #1973 from Nobody-Zhang/main
...
fix(payment): 修复 Zpay 退款接口调用
2026-04-26 13:11:42 +08:00
Wesley Liddick and GitHub
41d0657330
Merge pull request #1970 from deqiying/fix-1754-claude-openai-cache-usage
...
fix(anthropic): 修正缓存 token 的 Anthropic 用量语义
2026-04-26 13:08:18 +08:00
shaw
9b6dcc57bd
feat(affiliate): 完善邀请返利系统
...
- 修复返利不到账的根因:tryClaimAffiliateRebateAudit 中 PostgreSQL 参数类型推断冲突
- 补全 OAuth 注册路径(LinuxDo/OIDC/WeChat/Pending Flow)的邀请码绑定
- 前端 OAuth 注册页面传递 aff_code 参数
- 新增返利冻结期机制:可配置冻结时间,到期后自动解冻(懒解冻)
- 新增返利有效期:绑定后 N 天内有效,过期不再产生返利
- 新增单人返利上限:超出上限部分精确截断
- 增强返利流程 slog 结构化日志,便于排查问题
- 已邀请用户列表增加返利明细列
2026-04-26 12:42:35 +08:00
shaw
496469ac4e
fix(gateway): skip body mimicry for real Claude Code clients to restore prompt caching
...
PR #1914 unconditionally applied the full mimicry pipeline to all OAuth
accounts, including real Claude Code CLI clients. This replaced the
client's long system prompt (~10K+ tokens with stable cache_control
breakpoints) with a short ~45 token [billing, CC prompt] pair, which
falls below Anthropic's 1024-token minimum cacheable prefix threshold.
The result: every request created a new cache but never hit an existing
one.
Fix: restore the Claude Code client detection gate so that real CC
clients bypass body-level mimicry (system rewrite, message cache
management, tool name obfuscation). Non-CC third-party clients
(opencode, etc.) continue to receive full mimicry.
Also harden the detection logic:
- Make UA regex case-insensitive (align with claude_code_validator.go)
- Validate metadata.user_id format via ParseMetadataUserID() instead of
just checking non-empty, preventing third-party tools from spoofing
a claude-cli/* UA with an arbitrary user_id string to bypass mimicry
2026-04-25 22:50:35 +08:00
shaw
c1b52615be
fix(payment): allow Stripe payment pages to bypass router auth guard
...
Stripe payment routes (/payment/stripe, /payment/stripe-popup) are
reached via hard navigation (window.location.href), which caused
the router guard to block access before the page could load.
Set requiresAuth and requiresPayment to false, consistent with
/payment/result. Backend API still enforces authentication.
2026-04-25 21:38:40 +08:00
shaw
3af9940b85
style: fix gofmt and ineffassign lint errors
...
- gofmt: realign AffiliateDetail struct tags in affiliate_service.go
- ineffassign: remove dead seenCompleted assignment before return in account_test_service.go
2026-04-25 20:37:42 +08:00
Wesley Liddick and GitHub
22b1277572
Merge pull request #1948 from hungryboy1025/fix/openai-account-test-responses-stream
...
fix(openai): tighten responses stream account tests
2026-04-25 20:31:07 +08:00
Wesley Liddick and GitHub
aff98d5ae1
Merge pull request #1960 from gaoren002/fix/openai-stream-keepalive-downstream-idle
...
fix(openai): keep responses stream alive during pre-output failover
2026-04-25 20:24:25 +08:00
shaw
4e1bb2b445
feat(affiliate): add feature toggle and per-user custom invite settings
...
- 在系统设置「功能开关」中新增邀请返利总开关,默认关闭;
关闭态:菜单隐藏、注册忽略 aff、新充值不返利,但已有 quota 仍可转余额
- 支持管理员为指定用户设置专属邀请码(覆盖随机码,全局唯一)
- 支持管理员为指定用户设置专属返利比例(覆盖全局比例,可单条/批量调整)
- 在系统设置邀请返利卡片内嵌入专属用户管理表格(搜索/编辑/批量/删除),
删除采用项目通用 ConfirmDialog,会同时清除专属比例并把邀请码重置为系统随机码
- /affiliate 用户页新增「我的返利比例」卡片与动态使用说明,让用户直观看到
分享后能拿到多少(同源 resolveRebateRatePercent 计算,与实际充值一致)
- 新增数据库迁移 132 添加 aff_rebate_rate_percent 与 aff_code_custom 列
- 新增 admin 路由组 /api/v1/admin/affiliates/users/* 共 5 个端点
- AffiliateService 改为只依赖 *SettingService,去除冗余的 SettingRepository
- 邀请码格式校验放宽到 [A-Z0-9_-]{4,32},兼容旧 12 位系统码与新自定义码
- 补充单元测试与集成测试覆盖新方法、冲突路径与边界值
2026-04-25 20:22:07 +08:00
Wesley Liddick and GitHub
5d1c12e60e
Merge pull request #1943 from AyeSt0/fix/openai-responses-preoutput-failover
...
fix(openai): 修复 Responses 流式失败前置事件导致无法 failover
2026-04-25 15:43:00 +08:00
Wesley Liddick and GitHub
641e61073f
Merge pull request #1940 from 4fuu/fix/bump-codex-cli-version-to-0.125.0
...
fix(openai): bump codex CLI version from 0.104.0 to 0.125.0
2026-04-25 14:57:51 +08:00
shaw
095f457c57
feat(openai): port /responses/compact account support flow (PR #1555 )
...
将 vansour/sub2api#1555 的 OpenAI compact 能力建模手工移植到当前 main:账号
级 compact 状态/auto-force_on-force_off 模式、compact-only 模型映射、调度器
tier 分层(已支持 > 未知 > 已知不支持)、管理后台 compact 主动探测,以及对应
i18n/状态徽章。普通 /responses 流量行为不变,无数据库迁移。
2026-04-25 14:52:58 +08:00
Wesley Liddick and GitHub
b95ffce244
Merge pull request #1772 from KnowSky404/fix/openai-test-state-reconciliation
...
[codex] reconcile OpenAI admin test rate-limit state
2026-04-25 10:02:21 +08:00
shaw
8f28a834f8
fix(payment): 同时启用易支付和 Stripe 时显示 Stripe 按钮
...
VISIBLE_METHOD_ALIASES 漏了 stripe,导致 getVisibleMethods 把后端返回
的 stripe 过滤掉。点 Stripe 按钮时省略 method 查询参数,让落地页渲染
完整的 Payment Element。
2026-04-25 09:46:27 +08:00
shaw
7424c73b05
chore: remove unused model IDs
2026-04-25 09:04:34 +08:00
Wesley Liddick and GitHub
1afd81b019
Merge pull request #1920 from Wuxie233/fix/responses-web-search-tool-types
...
fix(apicompat): recognize web_search_20250305 / google_search in Responses→Anthropic tool conversion
2026-04-25 09:00:37 +08:00
shaw
732d6495ea
chore(gateway): fix lint issues from cc-mimicry-parity merge
...
- staticcheck QF1001: apply De Morgan's law to the OAuth-mimic header
passthrough guard (`!(a && b)` → `a != ... || !b`).
- unused: drop `isClaudeCodeRequest`, which became dead after PR #1914
switched both `/v1/messages` and `/count_tokens` paths to unconditional
`account.IsOAuth()` mimicry. The lowercase helper `isClaudeCodeClient`
is kept (still referenced by `TestIsClaudeCodeClient`).
2026-04-25 08:58:57 +08:00
Wesley Liddick and GitHub
6d20ab8082
Merge pull request #1914 from keh4l/feat/cc-mimicry-parity
...
fix(claude): align Claude Code OAuth mimicry with real CLI traffic
2026-04-25 08:54:04 +08:00
shaw
aa8ee33b0a
refactor(affiliate): tighten DI and harden inviter code validation
...
- Drop SetAffiliateService setters and ProvideAuthService /
ProvidePaymentService / ProvideUserHandler wrappers in favor of direct
Wire constructor injection. AffiliateService has no back-edge to
Auth/Payment/User, so the indirection was never required.
- Change RegisterWithVerification's variadic affiliateCode to a fixed
parameter; adjust all call sites.
- Validate aff_code length and charset in BindInviterByCode before any
DB lookup, eliminating timing-side-channel and useless DB roundtrips
on malformed input.
- Make affiliate cache invalidation synchronous; surface Redis errors
via the project logger instead of swallowing them in a detached
goroutine.
- Add an integration test guarding cross-layer tx propagation in
AccrueQuota and a unit test pinning the aff_code format rules.
2026-04-25 08:44:18 +08:00
Wesley Liddick and GitHub
5b5db88550
Merge pull request #1897 from VpSanta33/codex/invite-affiliate-rebate
...
feat: 新增邀请返利功能,并支持后台配置返利比例
2026-04-24 22:36:53 +08:00
Wesley Liddick and GitHub
76aae5aa74
Merge pull request #1911 from gaoren002/fix/codex-responses-payload-normalization-mainbase
...
fix(openai): normalize codex responses payloads
2026-04-24 21:37:32 +08:00
Wesley Liddick and GitHub
1ce9dc03f9
Merge pull request #1895 from gaoren002/fix/codex-spark-limitations
...
fix(openai): handle codex spark model limitations
2026-04-24 19:57:42 +08:00
Wesley Liddick and GitHub
15ce914a62
Merge pull request #1910 from slovx2/fix/codex-tool-call-ids
...
fix(openai): 修复 Codex 工具调用 call_id 处理
2026-04-24 19:56:03 +08:00
shaw
a4e329c18b
fix: openai默认模型新增gpt5.5
2026-04-24 09:08:31 +08:00
shaw
ca204ddd2f
fix(openai): preserve image outputs when text content serialization fails
...
In reconstructResponseOutputFromSSE, text content Marshal/Unmarshal
failure previously caused an early return that silently discarded
already-extracted image_generation_call outputs. Now serialization
errors are tolerated so image results still reach the client.
2026-04-24 08:58:51 +08:00
Wesley Liddick and GitHub
ff08f9d798
Merge pull request #1853 from gaoren002/fix/codex-image-generation-bridge
...
fix(openai): 完善 Codex 在 Responses 链路下的图片生成兼容性
2026-04-24 08:55:23 +08:00
Wesley Liddick and GitHub
ac11473833
Merge pull request #1850 from touwaeriol/feat/channel-insights
...
feat(monitor): channel monitor with available channels & feature flags
2026-04-24 08:31:21 +08:00
shaw
a22a5b9e72
chore: fix docker pull version tag in TG notification
...
Use ${VERSION} (without v prefix) instead of ${TAG_NAME} to match
GoReleaser's actual Docker image tags.
2026-04-23 17:33:22 +08:00
shaw
3fe4fd4c35
chore: add model gpt-5.5
2026-04-23 17:28:01 +08:00
Wesley Liddick and GitHub
827a4498e0
Merge pull request #1829 from ZHOUKAILIAN/feature/codex-oauth-proxy-message
...
fix: 明确 OpenAI OAuth 未配置代理时的错误提示
2026-04-23 16:55:04 +08:00
Wesley Liddick and GitHub
8dbbd94299
Merge pull request #1836 from wucm667/fix/account-daily-weekly-quota-cache-invalidation
...
fix: 修复账户配额跨越时调度快照入队逻辑
2026-04-23 16:49:25 +08:00
Wesley Liddick and GitHub
6b0cf4663d
Merge pull request #1815 from james-6-23/feat_rpm
...
feat(rpm): RPM 限流模块优化
2026-04-23 16:43:43 +08:00
shaw
ef967d8f8a
fix: 修复 golangci-lint 报告的 36 个问题
2026-04-23 16:30:43 +08:00
Wesley Liddick and GitHub
27ffc7f373
Merge pull request #1828 from wx-11/main
...
使用codex的生图接口代替web2api
2026-04-23 15:52:01 +08:00
shaw
0b85a8da88
fix: add io.LimitReader bounds to prevent OOM in image handling
...
Limit image download and multipart upload reads to 20MB to prevent
unbounded memory allocation from abnormal upstream responses.
2026-04-23 10:27:42 +08:00
Wesley Liddick and GitHub
327da8e260
Merge pull request #1813 from meteor041/meteor041/fix-openai-image-handling
...
fix: openai image request handling
2026-04-23 10:19:12 +08:00
Wesley Liddick and GitHub
79aff2df31
Merge pull request #1810 from IanShaw027/fix/profile-auth-bindings-i18n
...
fix(payment,profile,admin): 修复支付二维码流程、绑定提示与后台配置说明
2026-04-23 09:48:41 +08:00
shaw
755c7d5026
chore: revert README files to 78f691d2 version
2026-04-22 19:55:13 +08:00
Wesley Liddick and GitHub
1da4bd72df
Merge pull request #1802 from IanShaw027/fix/profile-auth-bindings-i18n
...
fix(profile): 修正邮箱重复显示问题并添加国际化语言支持
2026-04-22 19:49:43 +08:00
shaw
c6d25f69d5
chore: 恢复PAYMENT系列文件
2026-04-22 18:48:40 +08:00
shaw
45065c23d5
fix(ci): run 108a migration before 109 in backfill integration test
2026-04-22 18:36:44 +08:00
Wesley Liddick and GitHub
ddf80f5ea1
Merge pull request #1799 from IanShaw027/rebuild/auth-identity-foundation
...
fix(auth,payment,profile): 修复认证身份和支付系统的后续问题
2026-04-22 18:18:39 +08:00
Wesley Liddick and GitHub
c048ca80a4
Merge branch 'main' into rebuild/auth-identity-foundation
2026-04-22 18:17:12 +08:00
shaw
4d0483f5b8
feat: 补充gpt生图模型测试功能
2026-04-22 18:12:03 +08:00
shaw
1e0d466002
feat: 补充gpt生图模型测试功能
2026-04-22 18:06:14 +08:00
Wesley Liddick and GitHub
32107b4f95
Merge pull request #1795 from 0x90000/feat/openai-image-api-sync
...
feat(openai): 同步生图 API 支持并接入图片计费调度
2026-04-22 14:24:41 +08:00
Wesley Liddick and GitHub
8eb3f9e789
Merge pull request #1785 from IanShaw027/rebuild/auth-identity-foundation
...
feat(auth,payment): 重构认证身份和支付系统及其他部分优化
2026-04-22 10:14:15 +08:00
shaw
78f691d2de
chore: update sponsors
2026-04-21 14:57:59 +08:00
shaw
960b2bb8e6
feat(legal): add CLA with automated GitHub Actions enforcement
...
Introduce Individual Contributor License Agreement (ICLA) to enable
dual licensing (LGPL-V3 open source + future closed-source releases).
- CLA.md: Apache ICLA-style license grant with moral rights waiver,
patent license, electronic signature clause, and assignability
- .github/workflows/cla.yml: CLA Assistant Lite bot that auto-checks
PRs, posts signing prompts, and stores signatures on a separate
`cla-signatures` branch to keep main branch history clean
2026-04-21 12:06:45 +08:00
Wesley Liddick and GitHub
ffc9c38722
Merge pull request #1766 from touwaeriol/fix/codex-drop-removed-models
...
fix(openai): drop removed Codex models and fix normalization fallback side-effects
2026-04-21 08:50:00 +08:00
Wesley Liddick and GitHub
a8854947c0
Merge pull request #1764 from touwaeriol/feat/wxpay-pubkey-hardening
...
feat(payment): wxpay pubkey-only hardening with structured errors and i18n
2026-04-21 08:49:00 +08:00
shaw
23def40bc5
chore: change license from MIT to LGPL v3.0
2026-04-19 22:06:04 +08:00
Wesley Liddick and GitHub
f5ee93796d
Merge pull request #1753 from touwaeriol/feat/fix-orphaned-scheduled-tests
...
fix: delete scheduled test plans when account is deleted
2026-04-19 21:14:23 +08:00
Wesley Liddick and GitHub
e8be434498
Merge pull request #1752 from touwaeriol/fix/quota-exceeded-scheduling
...
fix(account): prevent quota-exceeded API key/Bedrock accounts from being scheduled
2026-04-19 21:14:06 +08:00
Wesley Liddick and GitHub
061fd48df7
Merge pull request #1749 from touwaeriol/fix/xhigh-reasoning-effort
...
fix: support xhigh reasoning effort in usage records
2026-04-19 21:13:45 +08:00
Wesley Liddick and GitHub
51af8df31d
Merge pull request #1731 from touwaeriol/fix/rate-billing-autofill-response-limit
...
fix: subscription billing, alipay redirect + H5, payment secrets, 128MB response limit
2026-04-19 09:43:24 +08:00