4 lines
1.2 KiB
Markdown
4 lines
1.2 KiB
Markdown
FAIL
|
||
|
||
crates/ely-office/src/close.rs:50 — 主窗口的 Cmd+Q 和应用菜单“退出”会直接丢失未保存内容。GPUI 在窗口动作派发期间暂时取出当前窗口,此处同步 `handle.update` 返回 `window not found`,第 57–58 行随即调用 `cx.quit()`,跳过 `Host::quitting` 和未保存询问,并将恢复会话记为干净结束。实测:ElyDoc 新建文档,键入 `ZqxQuitProbe`,等待生成恢复点,保持主窗口聚焦后按 Cmd+Q;进程以 0 退出,询问未出现,`session.lock` 被删除;重新启动后恢复点从 1 个变成 0 个,文字丢失。独立点击应用菜单“退出”同样直接退出。设置窗口的两个入口均出现询问,取消后文字和恢复点保留。证据保存在 `/tmp/ely-x01-native-evidence.log`,违反 PRD §6.2 的保存、放弃、取消要求。新增测试 `apps/ely-doc/src/tests/more.rs:236` 直接在 App 更新中调用退出函数,绕过窗口动作派发,因此该测试通过。修复方向:将退出转发延后至当前窗口更新结束,确认宿主窗口确已关闭时才直接退出;回归测试通过主窗口和设置窗口实际派发退出动作,验证询问、取消及恢复点保留。
|