Files
ElyOffice/tasks/reviews/C05.3-r1.md
T

1.9 KiB

FAIL

crates/ely-ui/src/commands.rs:51 — macOS 将唯一的 File 菜单作为首个应用菜单处理,实际界面缺少 File 菜单,违反 UX-01 的文件菜单入口要求。复现:构建并启动 ElyDoc.app,原生 accessibility 菜单栏仅有 ElyDoc;展开 ElyDoc 后才出现 New、Open…、Save、Save As…、Export…、Print…。八个应用共用此菜单定义。修复方向:macOS 在 File 前提供应用菜单,使 File 成为独立的文件菜单,并核对实际原生菜单栏。

crates/ely-ui/src/shell/root.rs:86 — ToggleCommandPalette 直接翻转布尔值,关闭路径跳过组件的焦点归还,丢失打开面板前的控件焦点。复现:在 shell gallery 聚焦右栏属性控件,连续两次发送 Command+Shift+P;面板关闭后 props.is_focused(window) 为 false,日志显示焦点落到根作用域。相同起点使用 Esc 或选择命令关闭时均为 true。该路径违反组件库要求的每个浮层关闭路径归还焦点,也使后续键盘操作离开原控件。修复方向:让快捷键关闭与面板自身关闭使用一致的焦点恢复流程,并覆盖重复切换后的焦点断言。

tests/scripts/shell.sh:35 — 命令验收绕过快捷键、菜单点击和命令面板选择,无法检出 C05.3 的关键接线失败。crates/ely-ui/examples/shell.rs:186 直接调用 commands::run 并 dispatch_action 打开面板,191–193 行直接执行命令并关闭面板。实测临时副本中分别删除 run.rs 的 commands::bind_keys(cx),以及将 Root 的 CommandPalette.on_run 改为空回调,两次 shell.sh 都以 0 退出并报告 commands、palette pass;原版 workspace check、workspace test、shell.sh 和八应用启动测试也均通过。修复方向:通过实际按键、菜单选择及面板输入和选择触发命令,断言执行结果与关闭状态,使这两种断线变异均触发测试失败。