Files
ElyOffice/tasks/reviews/M-03-r1.md
T
ZacharyZhang-NYandClaude Opus 5.5 d5f94e6e7a ElyMark: a merge taken from disk leaves the tab saved (M-03)
Every path that takes the disk text as saved goes through
adopt_disk, which sets the tab's mark and the view's baseline
together; the merge branch no longer repeats it by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 04:19:53 -04:00

1.3 KiB
Raw Blame History

FAIL

apps/ely-mark/src/compare.rs:123 — 合并采用只把 tab.mark 改成磁盘文字的散列,没有同步 MarkView.saved;view.adopt 也不更新这个基线,MarkView::modified 仍与最初载入的文字比较。具体场景:打开 base\n,本地改成 ours\n,外部改成 theirs\n;比较时冲突选磁盘侧,再按“使用合并结果”。文字回报落定后,内存与磁盘都是 theirs\n,历史也等于新的 tab.mark,视图却仍报告 modified,request_close 在自动保存前仍弹保存询问,M-03 未完整修复(PRD FILE-02、§14.4)。Windows 与 WSL 的提取状态探针使用实际 mark、modified 和本行赋值,均得到“text equals disk: true; history equals tab mark: true; view modified: true”,同步视图基线后断言通过;这是状态探针,未运行 macOS 窗口测试。证据保留在 C:/Users/zhang/Documents/M03-windows-probe.log 与 WSL ~/M03-linux-probe.log,探针目录已删除。相关 Cargo 测试在 WSL 通过;Windows 除已归属 W-02 的尾随空格路径用例外通过。修复方向:合并采用时同时把视图的保存基线设为磁盘文字,再把合并结果作为可撤销编辑采用;补测合并恰等于磁盘时无需保存、合并不同于磁盘时仍需保存及关闭询问。