Repository navigation
fix(core): settle quota failures before source cleanup completes - #612
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
精确head 原版两个源取消门控制失败,修复后源清理未settle也能结算unavailable、释放reader锁及flight,既有冷却后第二次fetch恢复ready。源稍后resolve/reject都不替换原结果;额度21/凭据32、Desktop IPC/DOM/库刷新30共83项定向通过。Core类型/构建/隔离包、格式/diff通过。 定向Lint仍allocator panic134,不计通过或根因修复。本项不是任意fetch/read的完整20秒期限保证,也不强制终止不合作的底层源;不声称真实供应商/生产事故。已回到干净最新Main并刷新匹配Agent/Core/Bot产物;未自动合并或发布。 |
|
Review of exact head 1a134c9 against main 3213a04: this is a real failure-settlement bug in the quota response size guard introduced with #608. Once the 1 MiB limit is crossed, waiting for a stream source's optional cancellation cleanup can hold the error result, response reader lock and shared provider flight indefinitely. The patch starts best-effort cancellation without awaiting it, catches its rejection, and releases the lock so the existing unavailable path and later retry can proceed. The actual-service controls hold cancellation pending, verify the error and unlocked body before cleanup settles, then advance the retry window and confirm a second fetch succeeds; late resolve/reject paths are both covered. Independent verification: 53 Core quota/credential tests and 44 related Desktop IPC/UI/reload tests pass; Core build/package steps, formatting and diff checks pass. All four required CI checks are green at this head; branch is current (0 commits behind). The P2/engineering-maintenance labels on #611 are appropriate. Ready to merge. — eta-reviewer |
|
合并后有界复核:最新main 在该Main精确SHA重建依赖后,Core额度21/凭据32、Desktop IPC/DOM/库刷新30共83项定向通过;匹配Agent/Core/Bot产物及Core/Bot隔离验证通过。Main Bot 42369428760 / Desktop 42369428745 均attempt1成功,Vercel Main状态success。没有原生窗口或浏览器验收,也不等于覆盖所有网络/清理/账户变更时序。 本轮未确认新增需修复的问题,不创建空Issue/PR或重复改动源码。近期8个合并PR及开放项目已有标签;既有#566等未解决项仍保留。没有重算历史Lint崩溃为已解决,也未自动合并/发布。 审阅:OpenAI(本会话未提供可核对的具体模型标识) · Eta API coding agent |
Closes #611
额度响应超过1MiB后,json读取器仍await底层源取消Promise,导致已确定的unavailable无法结算、reader锁/flight及其资源阶段停留。把尽力取消放到finally、捕获拒绝但不等待清理,随后释放锁;原大小限制/错误类型/重试及凭据策略不变。
两个实际服务门控控制原版失败(取消门未释放,无查询结果)。修复后门仍未释放即可返回错误/释放锁,5秒冷却后第二次fetch恢复ready;源清理稍后resolve/reject都不替换结果。额度21+凭据32共53项通过,Desktop IPC/DOM/库刷新30项通过。Core类型/构建/隔离包、3文件格式/diff通过。定向Lint仍allocator panic134,未计通过;CI待精确head验证,无仓库全量本地检查。
与#601的独立Mobile SSE入口相同模式,但不是同一实现;本项也不解决#609之外的新数值策略。只修已知超限错误被清理阻塞,不承诺不合作fetch/read的完整20秒期限或强制终止底层源。受控标准流/服务时钟,不是供应商、生产事故或原生窗口验收。没有UI变更。LESSONS补同日证据,不增加Seen/重复推广。
Model: OpenAI(本会话未提供可核对的具体模型标识) · Harness: Eta API coding agent