Gemini CLI 修复 OAuth 缓存投毒:失败初始化 promise 不再永久卡死
adityajai119 · ghdev · 2026-11-14
开发者向 google-gemini/gemini-cli 提交 PR #30296,修复 getOauthClient() 中的一个缓存缺陷:当 initOauthClient() 因授权超时、用户取消同意或网络瞬断而失败时,被拒绝的 promise 会一直留在 oauthClientPromises 缓存里,导致该 authType 后续所有调用都直接重抛旧错误,直到进程重启。
修复方案是在缓存条目上挂 .catch() 处理器,仅当缓存仍指向该被拒绝的 promise 时才删除条目(避免 clearOauthClientCache() 之后迟到的 rejection 误删新缓存的客户端),然后重抛错误。该 PR 修复 issue #29052,附带了完整的单测、构建与 lint 验证步骤,作者已在 Windows 上验证通过。
「编程与Agent」频道最新
- TestPrune:只跑相关回归测试,破解 AI 自动修 bug 的验证瓶颈 — burkov · 2026-11-14
- Databricks 基准:上下文层让数据 agent 准确率 91% 远超前沿模型 58% — CautiousUse8597 · 2026-11-14
- 开发者晒「无 localhost」工作流:AI 直接从 prompt 上生产环境 — marclou · 2026-11-14
- HeyGen MCP 演示:一句话让 ChatGPT 订票并生成生日祝福视频 — toolstelegraph · 2026-11-14
- 开源 Plenio 2.0:ComfyUI 里输入想法直出母带级成曲,还带 VST3 — Vivid_Promise1700 · 2026-11-14
- 云上 3D 棋馆玩反向图灵测试:用一条 MCP 命令把 Claude 偷偷带进对局 — Responsible-Radio634 · 2026-11-14