Files
ElyOffice/tasks/reviews/C06.1-r5.md
T

8 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
crates/ely-files/src/session.rs:262 — 旧票据在身份校验前无条件清空 saving,能够释放另一个正在运行的保存任务。上一轮的单次旧回调释放场景已通过;隔离测试继续执行“旧任务开始、reload、旧任务完成被拒绝、新任务开始、旧完成回调重复到达、新任务写盘并完成”,实际新任务的 finish_save() 返回 StaleTicket,state() 持续为 Saving;重复旧回调之后也已解除并发保存守卫。现有回归仅检查空闲时重复完成,遗漏新任务进行中的重复回调。修复方向:记录可核对的进行中任务身份,仅由对应任务释放槽位;过期内容确认继续拒绝,并覆盖旧回调与新任务重叠的测试。
crates/ely-files/src/session.rs:307 — reload() 成功后遗漏更新新增的 loaded 标志,加载失败后的恢复仍持续拒绝保存。隔离测试执行 Session::loading(path)、fail_load(),成功读取文件并调用 reload(),得到 Saved;随后 edit() 得到 Dirty,begin_save() 却返回 LoadFailed。重新加载成功的会话因此无法通过保存流程持久化后续编辑,显示状态与保存能力冲突。上一轮“加载失败后外部变更仍拒绝覆盖”已通过,测试遗漏成功重载后的恢复。修复方向:成功重载同步更新加载生命周期与内容可用性,失败时保持原状态,并补充加载失败、成功重载、编辑及保存的回归。
crates/ely-files/src/session.rs:443 — 身份查询错误在登记新会话之后传播,open() 返回失败时遗留虚假登记。上一轮权限错误暴露测试已通过;macOS 隔离测试依次打开 first.md 为 Fresh(0)、restricted/second.md 为 Fresh(1),撤销 restricted 的访问权限,再执行 open(first.md, true),得到 PermissionDenied。恢复权限并关闭会话 0 后,is_open(first.md) 仍为 true,再次打开得到 Focus(2),该会话从未成功创建,无法聚焦有效窗口。修复方向:全部可能失败的身份查询在提交登记前完成,失败时保持登记与编号原状;补充已匹配文件后仍有权限失败条目的只读打开回归。