C14.6 r3: one undo history in the document (library 639521e); C14.6 [~]
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
d6ec128811
commit
33daae02bc
6 files changed
+9
-6
No files matched your search
+1
-1
@@ -103,7 +103,7 @@
|
||||
- [~] C14.3 组件库:文件级 Markdown 文档组件。一个 `CodeEditor` 持全文与撤销;可视(变高虚拟列表,逐块渲染,按下的块开成源码,写回为一步撤销)、源码(`CodeEditor` 加 Markdown 着色)、预览(只读);属主可读写文本、模式、插入点行列、滚动,可跳到行;改动发事件 — R1 FAIL 七项已修:写回后按下别的块用旧范围(按偏移换算所按的块,结构变了不开);插入点偏移撤销后落在字符中间(改用编辑器选区为唯一插入点);预览收撤销重做(预览不挂动作);末尾新块的插入点漏算接缝;无插入点与滚动的设定(`set_caret`、`set_top_line`,换模式保持顶行);输入法组字与撤销重做不受 64 MiB 限制(每条路径都限,含重做);块不可用键盘到达(Tab 停靠点,Enter、空格打开)。R2 FAIL 三项已修:长文后台解析期间写回后按下仍用旧范围(解析文字与编辑器文字相同才可打开);块内滚动位置丢失(按块高比例);换文字后立即设顶行用旧块(要求等其文字解析后落定)。R3 FAIL 四项已修(不再送审):迟到的帧回调完成了新的要求(要求带编号,只完成自己的);等待中的顶行越过换成的短文字而崩溃(放时按当下行数夹住);换文字后的 `reveal` 用旧块(`reveal` 也是等解析的要求);测试不跑帧回调(`frames` 调 `simulate_next_frame`,并核对要求已完成,块内比例改为零时测试失败)
|
||||
- [x] C14.4 ElyMark 文件会话改为原生(MARK-01,§14.3,QA-21):视图换成 C14.3 的组件,文本即文件原文,无序列化;BOM、CRLF 照旧;新建、打开、保存、另存、重命名照旧;应用不再依赖 `ely-web-content`。网页实现的功能随之删去,在各自的任务里原生重做:查找替换与表格(C14.9)、附件(C14.10)、书写视图的应用(C14.12,`look.json` 与菜单照旧)、导出与打印(C14.14);其文案留到那时。依赖网页的真窗口脚本 `tests/scripts/mark-*` 删去,ElyMark 的行为由 gpui 窗口测试覆盖 — R1 FAIL 四项已修:载入未报给外壳(视图在下一轮更新报一次);大文件判定只看打开时(随当前文字,越过即转源码,组件库丢旧读取);刷新测试不核对文字与撤销;四行注释超长。R2 ok
|
||||
- [~] C14.5 删去 CEF:`crates/ely-web-content`、`scripts/fetch-cef.sh`、`scripts/build-mark-content.sh`、`apps/ely-mark/web`、打包里的 CEF 辅助应用与许可、CEF 的测试脚本;PRD 与 `agents.md` 写明新路线,ElyMail 正文不用 CEF 与 Electron — R1 FAIL 三项已修:帮助里“只读所在文件夹”是网页的限制(改写原生的图片规则);`agents.md` 与无障碍记录引用已删的脚本;PERF-07 的就绪日志随 C14.6 接上(写明)。R2 FAIL 一项已修:存储测试的样本在干净启动时被删(改为崩溃后只由清除记号删去恢复副本,记号用掉即为重试)。R3 FAIL 一项已修(不再送审):新建文档在可视模式键入无处落下,存储测试先 Cmd+2 到源码;产品缺陷记入 C14.6
|
||||
- [ ] C14.6 编辑模式与大文件(MARK-02、14,PERF-07):可视、源码、预览按标签切换,切换不改文件,撤销跨模式;超过阈值的文件只开源码并说明;1 MB 文档 2 秒内可编辑,实测记录;新建的空文档在可视模式下键入无处落下(C14.5 审查查出),须可直接键入
|
||||
- [~] C14.6 编辑模式与大文件(MARK-02、14,PERF-07):可视、源码、预览按标签切换,切换不改文件,撤销跨模式;超过阈值的文件只开源码并说明;1 MB 文档 2 秒内可编辑,实测记录;新建的空文档在可视模式下键入无处落下(C14.5 审查查出),须可直接键入 — R1 FAIL 两项已修:预览回可视不再打开空文档的输入框(同一焦点,无事件;换模式时直接查);自动打开的空块吞掉撤销(块未动时撤销走全文)。R2 FAIL 两项已修:以文字相同判断块的历史边界,丢了块内的重做;全文撤销成空后不再能键入(读完新文字再打开)。R3 FAIL 一项已修(不再送审):两份历史,关块即丢块内重做;改为只有全文一份历史,块内撤销重做先写回块再走全文(组件库 639521e,三条复现写成回归)
|
||||
- [ ] C14.7 Markdown 与扩展语法(MARK-03、04):CommonMark 与 GFM、脚注、公式、Mermaid、front matter(不进可视,原样在上方);文档旁图片;链接照 M-05(可视 Cmd/Ctrl 单击、预览单击交应用)
|
||||
- [ ] C14.8 导航(MARK-05):大纲取 markdown-rs 的标题与位置,按标题跳转;文件树、多标签、最近文件照旧
|
||||
- [ ] C14.9 编辑工具(MARK-06):查找替换(大小写、全词、正则),缩进,列表续写,表格插入与行列操作,代码高亮
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
FAIL
|
||||
|
||||
1. `reference/Ely-GPUI-Components/src/documents/document/edit.rs:123` — Closing a visual block discards its local redo history: `commit` takes the input and preserves only its current text. Create an empty visual document, type `Hi`, undo, switch to source, then redo: it stays empty instead of restoring `Hi`. Opening `Seed`, typing `!`, undoing, and switching through preview back to visual likewise makes redo ineffective. Even without switching, typing `Hi`, pressing undo twice, then redo loses `Hi`, because the new history-boundary handler closes the input on the second undo. All three probes fail on Windows and WSL (`.work/C14.6-r3/windows-probes.log`, `linux-probes.log`), while both round-2 regressions pass. This violates the cross-mode history requirement in PRD §14.3. Preserve the undone transaction and its redo state in the shared document history when closing a block; do not discard redo when undo reaches the beginning. Add regressions for these transitions.
|
||||
Reference in new issue
Block a user