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

14 lines
3.4 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.rs:398 — 文本导入沿用文件扩展名自动识别,未指定 Calc 的文本过滤器。实测相同内容 `Account,Value\n00123,1.5\n` 保存为 `.csv`、`.tsv`、`.tab` 时得到工作表,保存为 `.txt` 时得到 Writer 的 `Page 1`,SHEETS 返回的 part info 只有 `mode`,随后保存为 FODS 失败;应用的工作表与几何读取也失败。这破坏了 agents.md 声明的 TXT 导入流程。修复方向:文本导入显式选定电子表格文本过滤器,并检查载入文档类型;加入 TXT 经过应用导入、保存 XLSX、重开的回归。
apps/ely-table/src/text.rs:70 — 默认列类型仅由前 64 KiB 推断,后续行直接按常规数值导入,违反 TABLE-12 和 §9.3 的编号保留要求。实测 `Account\n` 加 18,000 行 `123\n`,再加 `00123\n12345678901234567890\n`,按默认选择导入后 A18002 为 `123`,A18003 为 `1.23456789012346E+019`,前导零与精度已丢失。首条记录超过 64 KiB 时,截断逻辑还会把整个预览清空,列类型选择器数量为零。修复方向:把受限预览与完整文件的数据安全判定分开,后台检查完整列并保留危险编号;超长记录也应提供可用的列类型选择。现有短样本测试覆盖不到这些失败。
apps/ely-table/src/text.rs:119 — 解码时丢弃 `encoding_rs` 的错误标记,错误编码通过替换字符静默改写数据。实测文件字节 `Account\nA\xffB\n` 选择 UTF-8 后,预览显示 `A�B` 且仍可提交;IMPORT 返回成功,实际保存的 FODS 正文也是 `A�B`,整个过程没有解码错误提示。修复方向:传播解码失败,在完整导入前验证所选编码,向用户暴露错误并阻止带静默替换的数据进入工作簿;保留采样末端截断与实际非法字节的区别。
apps/ely-table/src/text/dialogs.rs:147 — 预览行的布局宽度未体现各列的总宽度,水平滚动容器无法到达被裁掉的列。macOS 真窗口导入八列 CSV 时仅显示前三列,连续向左右水平滚动仍停在 Column1–Column3,Column4–Column8 的预览与类型控件处于裁剪区外。AX 树里存在这些控件,现有模型测试因此照样通过。修复方向:让预览内容的实际布局宽度包含全部列,并验证滚动后后续列能显示、点击和修改类型。
apps/ely-table/src/text/dialogs.rs:80 — 预览单元格直接使用 div 的默认黑色文字,未采用主题前景色。macOS 深色真窗口中,八列 CSV 的 `Column1`、`00123` 等预览值绘制为黑色,背景为深色对话框表面,常规文字对比度远低于 PRD §20.3 的 4.5:1,影响导入规则检查。修复方向:为预览文本应用主题前景色,并用实际深浅色渲染验证文字和背景的对比度。
apps/ely-table/src/page/dialogs.rs:93 — 三个缩放模式与固定宽度的数值框挤在 DescriptionList 的同一值列。macOS 默认真窗口中,百分比模式下第三个模式位于裁剪区外;点击第二个模式切到宽×高页数后,两个数值框把模式选择器整体挤出可见区,只剩 `1 × 1`,无法通过该控件切回百分比或选择总页数。TABLE-14 的缩放操作因此受阻,现有测试直接赋值 Scale 绕过了实际控件。修复方向:给模式选择器与数值输入分配足够且稳定的布局空间,并在真实渲染中逐项切换三个模式验证。