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

12 lines
3.2 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-table/src/data.rs:355 — 选择性粘贴仅以纯文字相等判断复制来源,相同显示值会让另一工作簿的复制通过检查。复现:A 的 E2 为 `=B2*2`、显示 6,复制 E2;B 的 A1 为 `=2+4`、同样显示 6,复制 A1;返回 A,在 F2 执行“粘贴为公式”。实际选择性粘贴处理器的隔离探针保存 FODS 后公式数从 1 增到 2,写入 A 保留的旧内核剪贴板公式;当前约定要求拒绝 B 的复制。修复方向:跟踪系统剪贴板的复制身份与变更版本,将其关联到持有内核单元格剪贴板的视图,覆盖相同文字的跨工作簿与外部复制场景。
apps/ely-table/src/rules.rs:143 — 打开数据验证仍在界面处理器中获取 worker 锁并同步读取内核,违反 PRD PERF-02 和 2026-10-05 的界面线程约束。复现:另一后台操作持有 worker 锁 300 毫秒时打开数据验证,隔离探针测得处理器阻塞 304.7 毫秒。同类同步路径仍位于 `rules.rs:332`、`data.rs:174`、`data.rs:371`、`rules/aids.rs:37`、`format.rs:184`;`crates/ely-office/src/find.rs:225` 在查找期间收到编辑回报时同步读取撤销历史。修复方向:将这些读取放入后台,在回调中核对发起文档与读取版本,并补充 worker 延迟时界面处理器及时返回的回归。
apps/ely-doc/src/review.rs:115 — 切换文档时立即替换 `shown`,同时保留上一文档的修订、批注与线程列表,后台读取期间这些旧内容仍可操作。复现:A、B 各有一条修订,面板显示 A 的 `TrackedAlpha`;将 B 的读取延迟 300 毫秒后切到 B,面板仍显示 A 的修订,此时点击“全部拒绝”。隔离探针确认 B 的修订数从 1 变为 0。修复方向:文档切换时清除旧列表或阻止其操作,让显示内容、操作目标和异步读取版本保持一致,并覆盖延迟读取期间切换与操作的场景。
apps/ely-table/src/rules.rs:261 — 规则读取失败后仍无条件调用 `follow_rule`,失败路径保持缓存缺失,随即重新提交相同后台读取;`book.rs:197` 的工作表与几何读取存在相同循环。复现:规则缓存需要刷新时终止该测试的 worker,200 次调度产生 66 条引擎错误反馈,读取任务持续自行重排,造成错误提示与日志刷屏。修复方向:记录失败对应的读取状态并结束当前请求链,后续重试由新的状态变化或明确恢复操作触发;增加 worker 崩溃后请求及反馈次数有界的回归。
crates/ely-lok/src/view.rs:415 — 任意被接纳的图块都会结束 `edit_at`,计时与对应输入落地、编辑后的图块版本及实际显示脱节。复现:已有旧图块结果等待界面接收,此时提交新文本,再接收旧图块;隔离探针确认 `edit_pending()` 仍为 true,计时已被清除。`tests/scripts/lag.sh:42` 用这些记录计算“edit to tile”分位数,旧画面可以贡献很短的样本,当前结果无法证明所声明的按键到新画面延迟。修复方向:将计时关联到输入序号及其编辑后的图块版本,在对应可见画面到达时记录,并覆盖旧图块先到、连续输入与滚动图块交错的场景。