
下一版会把两条只差连接池设置的 Gemini / Vertex 凭据判成同一条、静默丢掉第二条;同一小时冒出的另外四张单在 v8.0.49 里都存在,三张补丁都还没合。
connection-pool 设置的 Gemini 凭据会被判成同一条,第二条连同它的池设置一起消失,没有日志。4| 单号 | 现象 | v8.0.49 里有吗 | 补丁 |
|---|---|---|---|
| #7163 | 去重身份不含连接池,第二条凭据被静默丢弃 | 只在开发分支 | #7165,未合并 |
| #7159 | 插件能读走并关掉别人的模型执行流 | 有 | 无 |
| #7162 | 传输缓存构建时 panic,缓存永久锁死 | 有 | #7164,未合并 |
| #7161 | handler panic 后请求日志永不收尾 | 有 | #7166,未合并 |
| #7160 | 运行时改 auth-dir,监控还盯旧目录 | 有 | 无 |

config_normalization.go 第 400–436 行:唯一键按 api-key、base-url、proxy-url、prefix、headers 顺序拼接;命中即 continue,后出现的那条被丢掉,全程无日志。5
config_types.go 第 912–940 行:ConnectionPool 字段就在 ProxyURL 之后,注释写明按凭证隔离;而上面的唯一键里没有它。6max-idle-conns-per-host: 2、另一个写 5,其余全同的两条,被判成同一把凭据。第二条不进内存,池设置也就不存在。
model_stream_bridge.go 第 40–88 行:read(ctx, id) 与 close(id) 的签名里没有调用方身份;ownerCallbackID 只写进条目,没有任何一处读它比对。16Get 先拿锁,再调外来的构建函数,所有返回路径手写解锁。构建函数一 panic,解锁那几行都走不到。17
transport_cache.go 第 103–147 行:c.mu.Lock() 在 build() 之前,之后每个出口都是显式 Unlock;没有 defer,也没有 recover。18TryLock 也拿不到。发行版同一段代码也是这个写法。19c.Next() 跑完才调收尾,而不是 defer;recovery 中间件注册在更外层。20
request_logging.go 第 80–100 行(v8.0.49):第 90 行 c.Next(),第 93 行才是 wrapper.Finalize(c);handler panic 会绕过这一行,外层 recovery 收走控制权。21oauth.auth-dir 从 A 改到 B,返回 200、重载日志也写了 A 到 B,但凭据列表仍是 A 的,B 里的文件永远不出现,往 A 里写新文件却被正常发现。23github.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
github.com
github.com
github.com
github.com
github.com
reddit.com
reddit.com
codex-reset.com
status.openai.com
status.anthropic.com
status.cloud.google.com
github.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.