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

10 lines
2.7 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/text.rs:261 — 校验与导入使用了两个文件版本:预览和严格解码读取 Pending.bytes,提交时却重新从 pending.path 复制文件。实测先打开 `Account\n123\n`,等扫描结束,再由外部程序将源文件改成字节 `Account\n00123\nA\xffB\n`,点击打开仍成功;A2 变成 `123`,A3 变成 `A�B`,数据损失与解码错误均进入工作簿。R1 的整文件扫描和严格解码在此路径失效,违反 TABLE-12 与 §9.3。修复方向:导入经过校验的同一份字节快照,或在后台对实际工作副本重新完整校验、推断并要求用户确认变化;加入源文件在对话框期间改变的回归。
apps/ely-table/src/text.rs:231 — 扫描回调只核对每个 Pending 自己的 asked 计数,新导入对话框重新从 0 开始,因此两个文件的首次扫描都为 1。延迟旧扫描回调的探针实测:打开 `old.csv`(`Old\n00123\n`),取消后打开 `next.csv`(`Next,Amount\n123,1.5\n`),等新文件预览完成,再释放旧回调;标题与 path 仍为 next.csv,预览却变成 `["Old"]`,列类型从两个 Standard 变成一个 Text,reading 也被旧结果清除。慢扫描期间取消并打开另一文件即可触发,违反 TABLE-12 的按当前选择预览和列类型约定。修复方向:回调同时核对导入请求或字节快照的身份与扫描版本,丢弃已取消对话框的结果;加入跨导入对话框的延迟回调回归。
apps/ely-table/src/text/dialogs.rs:144 — PREVIEW_COLUMNS 同时截断了列类型控件,导致第 65 列起无法选择任何导入类型。真窗口打开 65 列 CSV(第 65 列为 `2026-03-04`)时,AX 树只有“第 1 列”至“第 64 列”的类型选择器;第 65 列始终使用默认 Standard,用户无法选择日期顺序、文本或跳过。TABLE-12 要求导入前逐列选择类型,预览采样上限在这里成为永久操作上限。修复方向:保留预览采样限制时,为全部实际列提供类型选择入口,并验证第 65 列及后续列的选择能传入内核。
apps/ely-table/src/book.rs:213 — 外部链接列表只在标签首次读取时填充,后续编辑始终命中 links.is_none() 的缓存门禁。实测空白工作簿初次读得 `Some([])` 后,在 B1 输入引用 source.ods 的公式;内核 `.uno:ExternalLinks` 已返回该文件 URL,界面的 extra.links 仍为 `[]`,links_banner 因此持续隐藏。用户在已打开工作簿中新增外部引用后,来源与未刷新状态没有显示,违反 §9.3 及 agents.md 的链接提示约定。修复方向:让链接列表随相关文档修改失效并在后台重读,按发起标签与状态核对回报;加入在空白工作簿中新增外部引用后的提示回归。