Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
f488669
fix(openai): only inject the Codex image generation bridge for OpenAI…
Yukinoshita-Yukino Sep 28, 2026
a567208
fix(ui): refresh countdown when tab becomes visible
a408665321 Sep 29, 2026
27de27a
fix(risk-control): remove deleted groups from moderation scope
wucm667 Sep 29, 2026
c422404
fix(payment): calculate QR countdowns from elapsed time
ouchihao Sep 29, 2026
69d6d10
fix(monitor): allow adding missing platforms in v2 settings
r266-tech Sep 29, 2026
983cf29
fix(gateway): retry rejected structured input through chat endpoint
wucm667 Oct 2, 2026
5a25507
feat(account): 临时不可调度规则新增作用范围 scope 选项
feeeei Oct 3, 2026
a46249a
test(account): 补充临时不可调度作用范围单元测试
feeeei Oct 3, 2026
c15d858
fix(gateway): preserve Responses semantics in chat fallback
wucm667 Oct 6, 2026
f7f1112
fix(deps): update Vue and source map security patches
wucm667 Oct 6, 2026
63800c5
fix(gateway): guard structured-input fallback against unsafe retries
wucm667 Oct 7, 2026
daa7915
fix(deps): update SheetJS past expired security exceptions
wucm667 Oct 7, 2026
07d51a6
chore: sync upstream security updates
wucm667 Oct 8, 2026
df3c38e
chore: align branch with current upstream main
wucm667 Oct 8, 2026
ba280b3
feat(ops): show account names in request details table
yan9651688 Oct 8, 2026
d56f5e7
feat(gateway): adapt Claude Haiku 5.5
xcrong Oct 9, 2026
3a6fd1c
chore: sync VERSION to 0.2.15 [skip ci]
github-actions[bot] Oct 9, 2026
9a51333
feat(groups): 分组名称与描述支持多语言
feeeei Oct 6, 2026
b686842
fix(gateway): sync main routing without widening responses retry
wucm667 Oct 9, 2026
2bfc494
fix(ops): initialize custom time ranges in local time
ouchihao Oct 9, 2026
d016289
fix(select): preserve keyboard input during IME composition
ouchihao Oct 9, 2026
bd2f53b
fix(groups): reject nonpositive rate multiplier edits
ouchihao Oct 9, 2026
8e3d75b
fix(monitor): refresh cached availability on automatic reload
ouchihao Oct 9, 2026
5753552
fix(gemini): preserve authorization URL error messages
ouchihao Oct 9, 2026
29b2d72
test(web): use shipped SVG asset in embedded frontend tests
wucm667 Oct 10, 2026
66b7ce0
fix(frontend): show full account group names
hutututtt Oct 10, 2026
ce6242f
fix(quota): recognize international coding endpoints
wucm667 Oct 10, 2026
0f189af
fix(groups): ignore stale RPM override loads
obst4cle Oct 10, 2026
3bfd40f
fix(gemini): 引用缓存不存在的 403 不再停用账号并换号
feeeei Oct 9, 2026
d5a802f
feat(gemini): 支持显式上下文缓存(AI Studio / Vertex / 自建网关上游)
feeeei Oct 10, 2026
3abd646
fix(ops): Gemini 原生路由的网关本地错误按错误类型归类
feeeei Oct 10, 2026
64331a9
ui(gemini): Vertex 显示名改为 Agent Platform (Vertex)
feeeei Oct 10, 2026
81e6ec5
feat(gemini): Vertex 账号支持 API Key 认证
feeeei Oct 10, 2026
2588675
fix(gemini): 第三方上游 API Key 与 Vertex 不再套用 AI Studio 等级和模拟配额
feeeei Oct 10, 2026
1c68f99
feat(gemini): 适配 AI Studio AQ. 格式 Key
feeeei Oct 10, 2026
6f9b02f
feat(gemini): Vertex 服务账号支持同步上游模型列表
feeeei Oct 10, 2026
c9e4b26
fix(account): 同步上游模型失败时显示后端返回的错误原因
feeeei Oct 10, 2026
05d7946
fix(gemini): 显式缓存错误透传收窄到上游网关账号,延长沿用创建时计费口径
feeeei Oct 10, 2026
f0ee427
feat(gemini): 显式缓存存储价内置官方价并按 Pro / Flash 系列兜底
feeeei Oct 11, 2026
4426593
fix(gemini): 3.6 Flash 兜底价改为官方优惠价
feeeei Oct 11, 2026
daebb7a
fix(gemini): 模型列表与模型详情接口支持 Agent Platform (Vertex) 账号
feeeei Oct 11, 2026
b63dafa
Merge pull request #7982 from wucm667/fix/issue-7981-embedded-static-…
Wei-Shaw Oct 12, 2026
6977bb6
Merge pull request #7983 from hutututtt/fix/account-group-names
Wei-Shaw Oct 12, 2026
da97995
Merge pull request #7974 from ouchihao/codex/bug-gemini-auth-url-error
Wei-Shaw Oct 12, 2026
0ae1b37
Merge pull request #7973 from ouchihao/codex/bug-monitor-auto-detail-…
Wei-Shaw Oct 12, 2026
f2b1556
Merge pull request #7972 from ouchihao/codex/bug-group-rate-edit-vali…
Wei-Shaw Oct 12, 2026
d702653
Merge pull request #7970 from ouchihao/codex/bug-select-ime-navigation
Wei-Shaw Oct 12, 2026
20b0be5
Merge pull request #7969 from ouchihao/codex/bug-ops-custom-timezone
Wei-Shaw Oct 12, 2026
59fb227
Merge pull request #7933 from yan9651688/feat/issue-7926-ops-details-…
Wei-Shaw Oct 12, 2026
c2885c4
Merge pull request #7738 from r266-tech/codex/monitor-add-platform
Wei-Shaw Oct 12, 2026
832677a
Merge pull request #7717 from ouchihao/codex/bug-payment-countdown-drift
Wei-Shaw Oct 12, 2026
6a6d472
Merge pull request #7696 from a408665321/codex/issue-7687-timer-only
Wei-Shaw Oct 12, 2026
6d509c6
Merge pull request #7711 from wucm667/fix/issue-7709-risk-control-groups
Wei-Shaw Oct 12, 2026
5dbb8f7
Merge pull request #7649 from Yukinoshita-Yukino/fix/codex-image-brid…
Wei-Shaw Oct 12, 2026
e468262
Merge pull request #8002 from obst4cle/fix/group-rpm-override-stale-load
Wei-Shaw Oct 12, 2026
0718581
fix(codex): raise GPT-6.1 Sol generated context default to 500k
Larry-Labs Oct 12, 2026
4376868
fix(billing): 取消 GPT-6.1 Sol 订阅长上下文附加费
Wei-Shaw Oct 12, 2026
7b03b1f
Merge pull request #8036 from Wei-Shaw/fix/gpt61-sol-subscription-lon…
Wei-Shaw Oct 12, 2026
26b31a8
fix(gemini): 显式缓存修改串行化、失败回滚,确定金额费用按 Key / 订阅预留
feeeei Oct 12, 2026
9591136
Merge pull request #8033 from Larry-Labs/fix/gpt61-sol-500k-context
Wei-Shaw Oct 12, 2026
fc82e83
fix(account): 显式模型级 401 规则在网关故障转移入口生效
feeeei Oct 12, 2026
8b74741
fix(groups): 广场 Vary 保留 Origin,分组译文语言代码统一大小写
feeeei Oct 12, 2026
ba2a717
fix(gemini): preserve images from tool results
wucm667 Oct 12, 2026
492c630
fix(gemini): satisfy test lint
wucm667 Oct 12, 2026
ab80abc
Merge pull request #7960 from feeeei/feat/group-i18n
Wei-Shaw Oct 12, 2026
2023c29
fix(account): 计数、Bedrock 与重试耗尽入口把上游模型交给错误处理
feeeei Oct 12, 2026
43a3c19
fix(gemini): 显式缓存恢复流程区分账号已删除与暂不支持缓存,上游必已过期后作废意图
feeeei Oct 12, 2026
cfbbfd6
fix(antigravity): isolate image model rate limits
wucm667 Oct 13, 2026
26f70c6
fix(gateway): wire Claude Haiku 5.5 into Responses bridge
xcrong Oct 13, 2026
c4bdc48
fix(haiku): 修正采样边界、默认模型配置与 lint
Wei-Shaw Oct 13, 2026
b669dc6
test(frontend): 将模型白名单回归用例纳入 CI
Wei-Shaw Oct 13, 2026
7c5afa4
Merge pull request #7957 from xcrong/feat/haiku-5-5-support-7919
Wei-Shaw Oct 13, 2026
53c21fe
Merge pull request #8006 from feeeei/feat/gemini-explicit-cache
Wei-Shaw Oct 13, 2026
9d5e63a
合并 main 并解决 PR #7828 的测试文件冲突
Wei-Shaw Oct 13, 2026
49dc6e2
Merge pull request #7828 from feeeei/feat/temp-unsched-rule-scope
Wei-Shaw Oct 13, 2026
bba8592
Merge pull request #8046 from wucm667/fix/issue-8040-antigravity-imag…
Wei-Shaw Oct 13, 2026
8d7d318
Merge pull request #8038 from wucm667/fix/issue-8035-gemini-tool-resu…
Wei-Shaw Oct 13, 2026
49b2122
Merge pull request #7991 from wucm667/fix/issue-7988-international-quota
Wei-Shaw Oct 13, 2026
0184257
Merge pull request #7810 from wucm667/fix/issue-6247-responses-chat-f…
Wei-Shaw Oct 13, 2026
326171d
chore: integrate official Sub2API v0.2.16
Oct 13, 2026
f936a0c
fix: preserve downstream capacity and model cooldown entrypoints
Oct 13, 2026
89165c8
fix: retain administrator error visibility for scoped 401
Oct 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .downstream/upstream-base
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.2.15
v0.2.16
46 changes: 46 additions & 0 deletions .downstream/upstream-review-v0.2.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Official v0.2.16 integration

- Official tag: `v0.2.16`, commit `01842576b3d5c1e2545b5a99ad555d36e28ed306`.
- Downstream starting commit: `157836bdc12424a71f1d0bd30a37fcca38842fc9`.
- The 17 initial conflicts cover gateway request/error handling, pricing, model
discovery, dependency injection, effort metadata, and account UI/tests. Ent and
Wire are regenerated from the combined schemas and provider sets. Existing
runtime dependency pins and Go 1.27.2 remain.
- Haiku 5.5 registration, validation, bridge, sampling and tier pricing follow
official behavior. Its downstream effort entry is adaptive with medium default
effort. Official API capacity evidence is 1M/128K, verified on 2026-10-13 from
the [model overview](https://platform.claude.com/docs/en/models/haiku-5-5/overview).
- Codex descriptors retain zero generated capacity defaults, including Sol's
upstream 500k default. Account, group and client capacities still use the shared
source-bound resolver. Sol subscription model-card pricing exemption uses the
actual account and upstream model, without changing API-key/custom-interval
pricing or downstream DeepSeek time-pricing application.
- Structured-input Chat fallback retains the official complete-body and safe
retry guards, plus downstream prompt-echo restoration, raw account classifiers,
request cancellation and session identity. Native Responses preserves downstream
request-terminal metadata (`NextAccountStop`, no account-health penalty), which
the inherited no-retry case verifies directly.
- Gemini explicit caching, Vertex authentication/model discovery, model-level
cooldown scopes, group translations and UI fixes follow official behavior.
Scheduler projections retain both downstream capabilities and the new cache
authentication/TTL fields; catalog readers share bounded response handling and
retain downstream Anthropic/Gemini pagination.
- Ordinary OpenAI HTTP scope tests use the production failover marker. Explicit
model-scoped 401 rules are also evaluated before the unmarked count/probe auth
fast path; missing/account-scoped rules retain the existing downstream behavior,
and credential-level/OAuth failures keep their authentication handling. The
unmarked API-key path still records its scheduling-neutral last upstream error.
- Existing Codex identity and strict STATE borrowing, Pelican jobs, prompt binding,
full administrator visibility, account/model mapping, capacity evidence and
flat-console hooks remain. The model picker keeps its explicit confirmation and
stale-response guard while showing the upstream sync error message.
- Official migrations `242_group_i18n`, `243_gemini_cached_contents`,
`244_gemini_cached_contents_channel_usage` and
`245_gemini_cached_contents_mutation_lease` are unchanged. Full filenames are
migration identities; matching numeric prefixes do not replace historical SQL.
Source VERSION is corrected from the official tag's stale 0.2.15 to 0.2.16.

Local validation uses synthetic upstreams, UI fixtures and disposable PostgreSQL
18.1. Normal required PR CI remains authoritative. Source validation, immutable
release and US production availability are recorded separately in the operator
workspace delivery evidence. No real model generation is part of this integration.
812 changes: 364 additions & 448 deletions .downstream/upstream-risk.json

Large diffs are not rendered by default.

26 changes: 19 additions & 7 deletions DOWNSTREAM.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This fork maintains the `codexrip` patch set over official Sub2API releases.
## Source baseline

- Integrated official baseline: the release recorded in `.downstream/upstream-base`.
- Retained compatibility decisions: [upstream review](.downstream/upstream-review-v0.2.15.md).
- Retained compatibility decisions: [upstream review](.downstream/upstream-review-v0.2.16.md).
- The operator workspace `docs/sub2api.md` owns the production version and image digest. A source merge or Release does not establish deployment completion.

## Settings and account operations
Expand Down Expand Up @@ -186,9 +186,21 @@ Scheduled discovery may identify newer official releases. It cannot deploy
production. Each integration records its selected official commit, conflicts and
retained downstream contracts before a new immutable release is published.

`.downstream/upstream-risk.json` records the v0.2.14-to-v0.2.15 integration against
downstream commit `d469422e94b0655b22dd9d0a826decda61ffb91e`. The risk gate
recomputes those exact inputs. `initial_conflict_files` lists the 40
conflicts resolved during this merge; `merge_conflicts: []` records that none
remain. A `review_required` candidate needs a real completed review and the
`upstream-reviewed` label before promotion.
`.downstream/upstream-risk.json` records the v0.2.15-to-v0.2.16 integration against
downstream commit `157836bdc12424a71f1d0bd30a37fcca38842fc9`. The risk gate
recomputes those exact inputs. `initial_conflict_files` records the 17 resolved
conflicts; `merge_conflicts: []` records that none remain. The candidate requires
a completed review and the `upstream-reviewed` label before promotion.

Gemini explicit caches follow the official account/key binding, storage billing,
mutation lease and recovery rules. Vertex API-key authentication and service-account
model discovery, account/model temporary-unschedulable scopes and group display
translations follow v0.2.16. Existing unconfigured accounts and rules retain their
stored behavior. Official migrations 242 through 245 keep their original filenames
and coexist with downstream migrations of the same numeric prefixes.

Haiku 5.5 uses adaptive thinking and medium default effort; its API limits are
resolved through the official evidence catalog. Local Codex descriptors still
carry no capacity defaults, including the official Sol 500k generation default.
Sol's subscription model-card long-context exemption follows the actual credential
and upstream model; API-key and custom-interval pricing keep their own policies.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ FRONTEND_CRITICAL_VITEST := \
src/api/__tests__/client.spec.ts \
src/api/__tests__/tokenRefresh.spec.ts \
src/api/__tests__/keys.bulkUpdate.spec.ts \
src/composables/__tests__/useModelWhitelist.spec.ts \
src/components/account/__tests__/OpenAIReferralCell.spec.ts \
src/components/account/__tests__/OpenAIReferralCell.transport.spec.ts \
src/components/account/__tests__/OpenAIQuotaResetCell.spark_shadow.spec.ts \
Expand Down
2 changes: 1 addition & 1 deletion backend/cmd/server/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.2.15
0.2.16
7 changes: 7 additions & 0 deletions backend/cmd/server/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ func provideCleanup(
subscriptionExpiry *service.SubscriptionExpiryService,
usageCleanup *service.UsageCleanupService,
idempotencyCleanup *service.IdempotencyCleanupService,
geminiCachedContent *service.GeminiCachedContentService,
batchImageCleanup *service.BatchImageCleanupService,
batchImageWorker *service.BatchImageWorkerRuntime,
pricing *service.PricingService,
Expand Down Expand Up @@ -280,6 +281,12 @@ func provideCleanup(
}
return nil
}},
{"GeminiCachedContentService", func() error {
if geminiCachedContent != nil {
geminiCachedContent.Stop()
}
return nil
}},
{"BatchImageCleanupService", func() error {
if batchImageCleanup != nil {
batchImageCleanup.Stop()
Expand Down
13 changes: 11 additions & 2 deletions backend/cmd/server/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions backend/cmd/server/wire_gen_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ func minimalDependencyCleanup(gatewayCache service.GatewayCache, autoReset *serv
subscriptionExpirySvc,
&service.UsageCleanupService{},
idempotencyCleanupSvc,
service.NewGeminiCachedContentService(nil, nil, cfg),
&service.BatchImageCleanupService{},
nil, // batchImageWorker
pricingSvc,
Expand Down
15 changes: 14 additions & 1 deletion backend/ent/group.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions backend/ent/group/group.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading