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

12 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:243 — SHEETS 与 SHOW_SHEET 直接调用当前内核视图的 getPart/setPart,未切到请求对应文档的 LOK view;同时打开多个工作簿后,切表会落空并返回成功,当前表读取也会混入另一工作簿的状态。真实 worker 复现:打开 S/T/U 三表工作簿,先显示 U,再打开只有 G 的第二个工作簿;对第一份请求显示 S,随后在第一份 C1 输入 123456 并保存 FODS,123456 仍落在 U,S 为空;第一份的 sheets.current 同时读成第二份的 0。隔离副本在加载时保存各自 view id、请求前 setView 后,逐表保存断言与双文档 current 断言均通过。修复方向:所有相关读写绑定对应文档的内核视图,校验目标表及切换结果,并补双工作簿往返切表与保存内容回归。
apps/ely-table/src/sheets.rs:161 — 等待旧输入完成的切表请求会被随后输入超越,仍未保持完整输入顺序。原 R1 的“输入后切表”回归已通过;扩展复现为两张空表、显示第一张,同一调度轮依次 run_active("cell.enter", &["42"])、show_sheet(1)、run_active("cell.enter", &["99"]),完成后保存 FODS:第一张 A1 为 99,第二张为空,42 被覆盖。隔离副本将切表请求排进 LokView 输入队列后,第一张保留 42、第二张得到 99。修复方向:切表进入与键入、命令共用的有序队列,覆盖切表前后均有输入的保存回归。
apps/ely-table/src/sheets.rs:161 — 延迟切表回调重新读取 active_tab,丢失发起请求的工作簿身份。具体复现:两份各有两张表的工作簿都显示第一张;在第一份排队输入 42 后请求显示第二张,立即选择第二份工作簿;等待完成后,第一份 extra.sheets.current 为 0,第二份变成 1。原样隔离回归失败,将切表绑定原文档并排入其输入队列后得到预期 (1, 0)。修复方向:请求保存原工作簿 id 和文档身份,完成与失败回报均作用于该工作簿,并加入等待期间切换或关闭工作簿的回归。
crates/ely-lok/src/view/scroll.rs:24 — 单元格自动滚动仍被缓存的 doc_size 截断,R1 的远处跳转缺陷继续存在。真实 ElyTable 空白工作簿在名称框输入 A100 并回车,名称框已显示 A100,画布与 AX 表头停在第 20–51 行,活动格与填充柄均在视口外;再跳 A101 仍停在同一范围。新回归 a_moved_cursor_scrolls_into_view_and_a_still_one_does_not 在 Writer fixture 上注入位于现有 doc_size 内的假 Cell,绕过了 Calc 空白区域扩展及真实跳转路径。修复方向:让 Calc 的滚动边界与工作表几何及可见区扩展一致,更新尺寸后完成目标格可见性校验;以新建空白表的真实远处跳转和连续方向键验证画布、表头与填充柄。
apps/ely-table/src/book.rs:63 — 名称框与公式栏仅在活动 LokView 发观察通知时同步,工作簿标签切换只改变 core.active,静止的目标文档留下上一工作簿的值。真实窗口复现:第一份空白工作簿光标在 A101,第二份 A1 输入 second;点击第一份工作簿标签后,画布和内容区切回第一份空表,名称框仍为 A1、公式栏仍为 second,持续保持到该视图再次产生通知。修复方向:活动工作簿变化时立即从其 LokView 同步两个字段,并覆盖两份静止工作簿反复切换及关闭当前标签后的可见值回归。