10 lines
3.5 KiB
Markdown
10 lines
3.5 KiB
Markdown
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`。
|