Files
ElyOffice/tasks/reviews/C07.4-r2.md
T

10 lines
2.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
crates/ely-lok/src/worker/input.rs:125 — Check::Enabled 使用异步回调缓存确认本次撤销/重做,随后直接返回成功,违反 LOK-02、LOK-05。实测载入 FODT 并等初始 Undo=disabled 后键入 a,立即 run("edit.undo") 返回 disabled 错误;同一内核的键盘撤销能恢复原文。等 Undo=enabled 后执行一次撤销,立即重做被旧 disabled 状态拒绝,立即再撤销却返回 Ok(()),此时撤销历史已经为空。现有映射测试在每步之间等待状态回调,掩盖此时序。修复方向:按本次操作的当前内核历史确认可用性及执行结果,补充键入后立即撤销、撤销后立即重做和连续撤销回归。
crates/ely-lok/src/commands.rs:115 — Points 只校验浮点数和范围,放行内核无法原样表示的精度;worker 的后置 Reports 检查报错时已经留下格式修改。实测打开原字号 12 的 FODT、全选后 run("format.size", &["18.01"]) 返回 Err,内核状态变为 FontHeight=18、ModifiedStatus=true、Undo=enabled,保存文件含 fo:font-size="18pt"。修复方向:在 client/view 排队前及 worker 派发前按固定内核的字号表示精度校验参数,错误输入保留原格式;加入精度边界和失败后保存内容的回归。
crates/ely-lok/src/events/parse.rs:100 — 空段落回调覆盖当前单元格文本,单元格取消编辑后的文本桥丢失,违反 §7 尾段。实测载入 FODS,A1="Hello 世界",方向键先到 B1 再回 A1,F2 进入编辑、键入 Z、Escape 取消;内核发出 kind 62 的 content="",桥接文本随之变空。A1 仍被选中,保存结果仍含 "Hello 世界";真窗口系统 AX 连续三次读到 textarea value=。现有单元格测试只覆盖方向键导航。修复方向:同步单元格编辑退出与取消后的当前焦点文本,处理编辑段落和所选单元格的实际回调时序,加入取消编辑的真实内核及 AX 回归。
crates/ely-lok/src/view.rs:206 — poll_events 失败只写日志并停止观察,应用的 LokError 订阅者收不到故障,违反“出错就暴露”。实测创建 LokView、订阅 LokError 并等初始 "Hello 世界" 桥接完成,终止其 worker,保持视图存活并推进调度器;订阅者收到零个错误,旧内核状态继续留在视图中。现有失效文档测试随后发送按键,由输入队列暴露错误,覆盖不到空闲观察失败。修复方向:在观察失败路径向存活视图发出 LokError,并加入空闲时 worker 退出的回归。