检测到无限空白 bug:Copilot 误丢包含缩进代码的 tool call
Quick fix
评论称提交 33eafbad5198d9fe64ff507ac673430ec334b4aa 已修复误判;请核对所用版本是否包含该提交,原帖未注明修复版本。
Symptom
Section titled “Symptom”检测到无限空白 bug报告指出,cc-switch 的 Copilot 流式处理逻辑在 src-tauri/src/proxy/providers/streaming.rs 中检测 tool call 的 arguments delta,空白阈值为 20。触发后 state.aborted 被设为 true 且不再恢复,整个 tool call 会被静默丢弃,仅留下警告日志。深层代码缩进、跨 delta 的连续空白、JSON 格式化空白和 Markdown 表格对齐均被列为可能误判的场景。报告还称换行与行首缩进可逐行累积,但其展示的代码会在遇到非空白字符时清零,因此不能据此认定普通多行代码必然累积触发。
核对所用版本是否包含提交 33eafbad5198d9fe64ff507ac673430ec334b4aa。评论明确称该提交已修复,但原帖未提供对应发行版本、具体补丁或复测结果。
验证时,让 Copilot 路由的会话执行 write_file,写入深层缩进代码,例如 8 层缩进的 YAML 或嵌套 Python 函数,观察工具调用是否仍被静默中止,以及日志是否出现“检测到无限空白 bug”。
将提高阈值至 200 或 500、使用空白占比窗口、移除检测及增加可配置丢弃策略视为原帖提出的方案;原帖未说明修复提交采用了哪一种,也未证实存在可直接使用的配置开关。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 1 个真实 issue
(暂无 FAQ)
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。