1.3 KiB
1.3 KiB
FAIL
crates/ely-ui/src/commands.rs:213 — 命令面板仍可绕过打印的平台禁用检查。shell/root.rs:313-322 将 file.print 放入命令面板,选择后直接调用 commands::run;这里直接分发 Print,文档视图的处理器先接收动作,外层 Root::attempt 的 blocked() 检查来不及拦截。具体场景:Linux/Windows 打开文档,打开命令面板,搜索并执行“打印…”;Doc/Show 仍进入打印范围流程,Table/PDF/Mark 仍生成打印副本,最后才收到平台未构建错误,违反 D-08 与 X-13 打印入口禁用要求。复现证据:在独立源码副本中仅将 commands.rs 的两处 BUILT 引用设为 false,经真实 GPUI 命令面板键入 Print 并回车,菜单已禁用、打印快捷键未绑定,文档打印处理器仍被调用 1 次;加入分发前检查后为 0 次,恢复后再次为 1 次(/tmp/ely-d08-r1-probe.log、/tmp/ely-d08-r1-guard-control.log)。原有平台/UI 单元测试 84 项通过,实际 Windows 打印分支独立编译通过;完整 Windows 平台库检查因缺少 Windows C 头文件停在 ring。修复方向:命令面板执行打印前统一检查平台能力并显示禁用原因,补充 BUILT=false 时从命令面板执行打印的回归测试。探针源码与其构建目录已删除。