Files
ElyOffice/tasks/reviews/C10.3-r1.md
T

22 lines
5.9 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-show/src/table.rs:32 — 插入表格使用尚未提交的旧行列数。真实窗口中把“列”从 3 键入为 7,AX 已显示 7,直接点击“插入”,随后保存 PPTX;两次复现的 a:tblGrid 都只有 3 个 a:gridCol,行数仍为 3。NumberInput 只在 on_commit 更新 Dialog,而按钮读取并移除 Dialog 时字段仍持有草稿。修复方向:在键入时同步对话框草稿,或确认前提交所有数字字段,再发送一次 table.insert;回归测试须覆盖键入数字后直接点击按钮并核对保存文件。
apps/ely-show/src/notes.rs:62 — 备注提交用缓存的 slides.current 核对目标,notes.set 却只操作命令执行时的当前幻灯片。复现:在第 1 张输入备注,延迟 worker,先排入 show_part(1),随后触发备注失焦,再释放 worker。review_notes_blur_after_queued_slide_change_keeps_origin 实测第 1 张备注为空,第 2 张变成“Notes only for slide zero”。修复方向:把备注所属幻灯片身份传到内核操作,并保证提交与切页的有序关系;失焦、右键切页及延迟 worker 的回归应逐页核对备注。
patches/libreoffice/0027-lok-impress-objects-guides.patch:316 — SlideObjects 过滤批注后,数组下标与 SelectObject 使用的原始对象下标发生错位。复现:依次插入矩形、批注、椭圆,对象列表为原文本、矩形、椭圆;选择列表下标 2 后,椭圆的 selected 为 false,内核选中的是位于 (0,0) 的批注对象。真实 LOK 探针 review_comment_objects_keep_selection_indices 失败。修复方向:读出稳定的内核对象索引并按该索引选择,或让读取与选择共同使用过滤后的索引;覆盖批注前后插入对象、层次调整和多选。
apps/ely-show/src/chart.rs:142 — 图表读取回来后直接覆盖当前窗口的对话框,未核对发起标签仍然可见。复现:标签 A 选中图表,延迟读取,发起编辑后切到标签 B,再释放读取。review_delayed_chart_dialog_stays_with_origin_tab 实测当前标签为 1,对话框 editing.tab 为 0;提交路径随后仍向隐藏的 A 发 show.chart。修复方向:采用带发起标签校验的读取,并在窗口回调落地时核对标签、幻灯片及目标图表身份,丢弃已过期的请求;补延迟读取期间切标签和关闭标签的回归。
patches/libreoffice/0028-svx-chart-look-and-data-helpers.patch:326 — 图表数据读取以类别描述的数量决定数值行数,无法读取 PPTX 散点图的数值 X/Y 数据。复现:插入含两行、两个系列的散点图,保存 PPTX,重新打开并选中;.uno:Chart 返回 categories=[],四个 series 的 values 全为空。仅改标题再提交即报“show.chart: the undo history did not move”,违反 SHOW-07 保存后仍可编辑。review_pptx_scatter_keeps_editable_data 失败;同一内容的 ODP 读取正常。修复方向:按实际数据序列读取并保留散点图的 X/Y 角色与数值,保证对话框和写回结构匹配;回归须保存、重开、核对原数据并修改标题和数值。
patches/libreoffice/0028-svx-chart-look-and-data-helpers.patch:345 — std::isfinite 把 XChartDataArray 的缺失值哨兵 DBL_MIN 当成正常数字。复现:载入数值表含 office:value="NaN" 的柱形图,内核的数据读取给该点 2.2250738585072e-308,界面会显示这个数;将读取结果原样写回并仅改标题,show.chart 被拒绝。ChartDataWrapper::isNotANumber 明确把 DBL_MIN 判为缺失值,当前读取绕过了该判定。修复方向:使用图表接口的缺失值判定,完整支持缺失数据点的读取、对话框保留和写回;补含空点的保存重开及仅改外观回归。
patches/libreoffice/0030-lok-impress-charts-notes-comments.patch:311 — 备注格式检查只检查字符属性,替换文本时丢弃段落格式。复现:载入仅有一段、字符格式一致且段落 fo:text-align="end" 的备注,读取给 editable=true、rich=false;执行 notes.set 后保存,原有右对齐属性消失。review_notes_paragraph_format_is_preserved_or_refused 和保存前后 FODP 比较均复现。修复方向:在替换中保留段落属性;当前纯文本编辑无法保留的格式应纳入 rich 判定并明确拒绝,读接口与命令校验保持一致。
reference/Ely-GPUI-Components/src/collab/sidebar.rs:157 — 批注条目只有鼠标 on_click,缺少 Tab 停靠、键盘选择和无障碍语义。真实 ElyShow 窗口添加一条批注后,屏幕显示正文、作者和时间,AX 树只有“添加批注”“编辑”“删除”按钮;从备注按 Tab 到“添加批注”,再按 Tab 直接跳到标签栏控件,批注保持未选择,“编辑”“删除”保持禁用。键盘与辅助技术无法完成 SHOW-08 的定位、编辑和删除,也违反 PRD §20.3。修复方向:在 CommentSidebar 中提供有名称和选中状态的可聚焦条目,支持键盘选择并复用 on_select;用真实 Tab 顺序和 AX 树验证。
patches/libreoffice/0028-svx-chart-look-and-data-helpers.patch:147 — 带默认值的 get<bool> 把错误的 legend 数据静默转换成 true,IsChartLook 随之通过。复现:通过 show.chart 发送 {"type":"column","legend":"banana","data":{"categories":["A"],"series":[{"name":"S","values":[1]}]}},命令返回 Ok,文档新增或修改图表,读回 legend=true。review_bad_look_json_refuses_without_killing_worker 失败,违背项目禁止兜底和本任务“JSON 不合即拒绝”的约定。修复方向:严格校验已提供字段的 JSON 类型,错误值在修改前拒绝,保留文档与撤销历史;覆盖错误类型和有效可选字段。
apps/ely-show/src/remarks.rs:84 — 注释“Sends the dialog's text as a new comment or an edit.”共 11 词,超过 agents.md 的十词上限。python3 tests/scripts/comments.py 在该行返回 FAIL。修复方向:将注释压缩至十词以内并重新运行检查。