Files
ElyOffice/tasks/reviews/C06.1-r6.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:263 — 保存任务身份仅由 generation 与 revision 组成,同一修订的两次保存会得到相同身份。隔离测试先保存到 first.md,随后保持修订号启动另存为 second.md;第一项任务的重复完成回调实际返回 Ok(()),将状态提前改为 Saved 并释放第二项任务的槽位。second.md 写入成功后的真实完成回调返回 StaleTicket,会话路径仍停留在 first.md,后续保存会继续指向旧文件。上一轮跨 reload 的重复回调场景已通过,同一 generation/revision 的重叠场景仍失败。修复方向:每次保存分配独立任务身份,完成回调按任务身份核对槽位,保留修订号与加载代次的内容有效性检查;补充同修订连续另存为及旧回调重放的回归。
crates/ely-files/src/session.rs:296 — fail_save() 缺少票据参数,仍无条件清空当前保存槽位,成功回调新增的身份守卫未覆盖失败回调。隔离测试执行“任务 A 开始、A 失败、继续编辑、任务 B 开始、A 的失败回调重复到达、B 写入成功并完成”,重复失败回调将状态改为 SaveFailed,B 的 finish_save() 返回 StaleTicket;B 进行期间的并发保存守卫也被解除。修复方向:失败回调携带独立任务身份,仅由匹配任务释放槽位并更新状态;补充旧失败回调与新任务重叠的回归。
crates/ely-files/src/session.rs:436 — 已找到需要聚焦的会话后仍继续查询其他登记路径,后续无关路径的权限错误会阻断同文件聚焦,违反 §6.1。macOS 隔离测试依次打开 first.md 为 Fresh(0)、restricted/second.md 为 Fresh(1),撤销 restricted 目录访问权限,再打开可正常访问的 first.md;is_open(first.md) 返回 Ok(true),open(first.md, false) 却返回 PermissionDenied。上一轮只读打开失败后保持登记与编号不变的回归已通过。修复方向:普通重复打开确认匹配后立即返回 Focus;新建登记继续保持失败时无副作用,并增加已匹配文件后存在无关权限错误条目的聚焦回归。