
v8.0.43 只改了读流正路上的取消判定,首帧读取仍会把取消记成成功;三张补丁已关成落地,codex2api 的降智检测还在跨通道自动启用。
ExecuteModelStream。普通 HTTP 请求由交付结果兜底,结局按实际交付算;内部流被取消时,插件那一侧会收到 succeeded、状态码 200。nextStreamChunk。通道关闭、上下文同时已被取消时,它把这一轮判成取消。3
sdk/api/handlers/handlers_interceptors.go 第 231–259 行(标签 v8.0.43)。第 248–251 行是这条路上唯一的 tie-break:通道关掉时若 ctx.Err() 非空,按取消返回;第 249 行那句注释就是上一轮落地时写下的理由。
sdk/api/handlers/handlers_stream.go 第 488–512 行。第 494–500 行的 select 没有 tie-break;第 504–505 行一旦拿到「通道已关」,就把 streamClosedBeforeRead 置真。nextStreamChunk,它立刻返回已关闭;循环在第 678 行的 if !ok 分支收工,完成结果停在默认的 succeeded、200。5streamCanceledBeforeRead 那条会被改写成取消(第 607–612 行)。所以同一秒里的两种结局,取决于运行时先挑中哪一边。Outcome:succeeded StatusCode:200。2streamDeliveryCompletion 只在请求有交付跟踪时按交付错误重判;手上没有跟踪,它原样返回。6ExecuteModelStream 一进来就调 usage.WithoutStreamDelivery,WaitStreamDelivery 于是返回 tracked=false。78dc3c5857c → 09f1997da)。他的说明写得很清楚:90fe5b23d 已经带走了这 PR 的第一个提交,分支上只剩剩下那一处改动。11| 补丁 | 关成什么 | 关闭(北京) | 落地提交 | 首轮自动评审 |
|---|---|---|---|---|
| #6978 aistudio 把中继块里每一帧都译出来 | 已落地 | 01:12:55 | 307803510 | 有未解决发现,关闭评论写明连同那处 deferred close 一起带上 |
| #6982 data 先关时把缓冲错误报出去 | 已落地 | 01:12:58 | 0fe4cc2cf | 无发现 |
| #6984 两个 websocket 测试的竞态 | 已落地 | 01:13:00 | 84e834414 | 无发现 |
GHSA-4w5v-m7vx-jpmh,仍在 triage,补丁附在报告里,受影响的代码在 v8.0.43 未变。11intelligence check target group is incompatible: N enabled accounts belong to another channel。页面只给数量,不给是哪个账号。16new_accounts_enabled,账号属于哪个通道,它不问。17
database/intelligence_check.go 第 114–126 行(标签 v3.1.1)。第 118 行的 SQLite 触发器与第 121 行的 PG 函数都只读 new_accounts_enabled,整句里没有通道条件。
platform: anthropic,目标分组在 codex 通道。16PATCH /api/v1/intelligence-check/accounts,body 写 {"account_ids":[…],"enabled":false},一次最多 200 个。21switch_group 时目标分组必须同通道」这一条件,SQLite 与 PostgreSQL 两套触发器一起换掉。22
database/intelligence_check.go 第 136–170 行(main 分支)。第 146–149 行的默认值表达式里,switch_group 只有在目标分组通道与账号通道一致时才启用检测;第 153–167 行删掉旧触发器再重建,注释写明 IF NOT EXISTS 会让升级后的实例继续用旧的无条件触发器。switch_group 模式下,只有同通道、且支持检测的新账号才继承「默认参与」;其他通道的账号照常能建,只是不自动启用。保存失败时服务端还会回冲突账号的 ID、名称、通道与目标分组通道,并给批量关闭入口。16307803510,v8.0.43 之后主干没有新提交。233c6adfda;sub2api 与 codex-proxy 窗口内没有条目更新。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.claude.com
status.cloud.google.com
codex-reset.com
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.