1.2 KiB
1.2 KiB
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 更新中调用退出函数,绕过窗口动作派发,因此该测试通过。修复方向:将退出转发延后至当前窗口更新结束,确认宿主窗口确已关闭时才直接退出;回归测试通过主窗口和设置窗口实际派发退出动作,验证询问、取消及恢复点保留。