Files
ElyOffice/tasks/reviews/C14.3-r2.md
T

10 lines
3.5 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
apps/ely-mark/web/src/main.js:100 — 跨模式撤销调用 changed,把刚建立的 forward 链当作新编辑销毁,丢失重做历史,违反 PRD §14.3。真窗口打开 `Alpha.\n`,可视模式键入 `v`,源码模式键入 `s`,返回可视;Cmd+Z 后保存得到 `vAlpha.\n`,Shift+Cmd+Z 后保存仍为 `vAlpha.\n`,预期恢复 `svAlpha.\n`。隔离副本将历史跳转与新编辑的报告分开后,同一操作恢复 `svAlpha.\n`。方向:历史跳转保留重做链,仅新的内容编辑截断重做分支,并覆盖跨模式撤销、重做。证据:`/tmp/ely-c143-r2-logs/redo.json`、`redo-repair.json`、`repair.diff`。
apps/ely-mark/web/src/main.js:127 — back 指向该模式的旧编辑器,形成按模式分开的历史,破坏本文件编辑事务的撤销顺序(PRD §14.3)。真窗口可视模式键入 `v`、源码模式键入 `s`,在源码连续撤销两次并保存,仍为 `vAlpha.\n`,较早的可视编辑无法撤销;另一路径返回可视撤销 `s`,再切源码并撤销,落盘反而从 `vAlpha.\n` 变回 `svAlpha.\n`,恢复了已撤销的编辑。方向:按本文件实际编辑顺序连接历史与修订,让两种编辑器的历史边界共同推进同一条时间线,覆盖切换后的连续撤销。证据:`/tmp/ely-c143-r2-logs/linear.json`、`reverse.json`。
apps/ely-mark/src/rename.rs:130 — 将 Open::Focus 当作新登记赋给发起标签,导致两个可写标签共享文件和登记号,违反 PRD §6.1 的同文件会话规则。隔离副本仅在文件系统改名成功后、完成回调前延迟两秒:发起 `a.md → closed.md`,期间通过正常 open_file 打开 `closed.md`;完成后实测 `tabs=2`,两个标签路径均为 `closed.md`、registry 均为 `Some(1)`。关闭任一标签还会删除另一标签共用的登记。上一轮“关闭发起标签后产生孤立登记”的复现已通过,本项是目标在异步间隙被另一标签打开的竞争。方向:改名期间保留目标身份的占用,并一致地迁移文件会话登记;完成回调遇到已有目标会话时处理其归属与待保存内容,避免复用其登记号创建第二个可写会话。证据:`/tmp/ely-c143-r2-logs/rename-owner.log`、`rename-closed.log`。
apps/ely-mark/web/src/main.js:142 — shown 回报的异步确认回来后,直接执行旧 asked 请求;期间正常发起的新模式请求既未清除它,完成回调也未重核 latest,最后一次选择仍可能被覆盖。真 CEF 探针将回报确认延迟 300 毫秒:从源码请求可视,构建中请求预览,可视挂载后、确认前再请求源码;页面先报告源码,随后被旧预览请求覆盖,最终 mode 为 preview。隔离副本在新请求时清除旧排队请求、确认回来时核对代次后,同一探针最终为 source。方向:所有模式请求共享递增代次,异步确认与构建完成都只落实最新请求,并覆盖确认期间的三次连续切换。证据:`/tmp/ely-c143-r2-logs/asked-native.log`、`asked-repair.log`、`repair.diff`。原版 mark-modes.sh、mark-content.sh、mark-session.sh 均独立通过;相关五个 crate 单测 142 通过、1 忽略,Doc/Table/Show/PDF/Mark 编译检查通过。上一轮新建非空变异已使脚本失败;Windows 驱动器与 UNC URL 单测通过;handlers.rs 为 424 行;Renaming 扩展 trait 已移除。源码散列核对一致,隔离源码副本与构建目录均已在写结论前删除;完整验证记录为 `/tmp/ely-c143-r2-logs/verification.log`。