fix(issue): 固定默认目录兜底领取仓库扫描 - #1039
Conversation
|
你好 👋 先说结论:方向是对的,
🟠 建议一:同一个 bug 目前只修了一半,Oncall 模式的 bot 仍会复现dashboard 上的「默认工作目录模式」是三选一,选「Oncall 模式」时 本地全链路实测( 仓库里已经有一个现成的规范判据: 建议把兜底那行换成它,顺带消除一份手写的重复判据: - return configuredWorkingDirs({ workingDir: cfg.defaultWorkingDir });
+ return configuredWorkingDirs({ workingDir: effectiveDefaultWorkingDir(cfg as BotConfig) });( 🟠 建议二:兜底把「钉住的单个仓库」当成了「扫描根」,会拖出一个卡死风险
(a) 扫描根是大目录时会同步阻塞整个 daemon,撞上飞书卡片回调的 3s 死线。 在一台真实机器的 (4 秒这个上限正是 这里有一个结构性的问题,不依赖上面的实测数字也成立: ⚖️ 需要说明的是: (b) 兜底根本身是仓库时,那唯一想要的目录会被自己的 worktree 淹掉。 实测 建议修法(1 为主,2 可同做):
关于新增测试:三处有牙,漏了「接线」这一格对
最后一行说明:新用例覆盖的是纯函数本身, 🟡 仅供知悉,不必改
你 PR 描述里的验证,逐条复现结果
辛苦了 🙏 建议一是一行替换,建议二按修法 1 也不复杂;改完再麻烦 ping 一下,我这边可以复跑一遍验证。 |
a9d70d4 to
bf77f95
Compare
|
@deepcoldy 已按反馈更新并推送:
验证:Bun 1.4.0 完整 build 通过;相关扩展回归 14 files / 342 tests 通过; |
|
🚀 Released in v3.18.2 |
改了什么
workingDir/workingDirs扫描根effectiveDefaultWorkingDir同时覆盖 fixed 与 default-oncall 模式~、工作区父目录)维持空候选,避免同步扫描超过飞书卡片回调时限buildIssueCommandDeps真实接线、Oncall 全链路、显式优先级和不递归扫描测试影响面
仅影响飞书 Issue Board 的领取候选仓库解析:
验证
bun run build(Bun 1.4.0):通过tsc --noEmit --pretty false:通过git diff --check:通过Fixes #1038