1.6 KiB
1.6 KiB
FAIL
apps/ely-table/src/sheets.rs:257 — 删除工作表的等待回调重新读取活动工作簿,丢失发起删除的文档身份。真实 worker 的隔离应用回归:两份工作簿各有两张表,第一份当前为 OriginTwo,第二份当前为 OtherTwo;在第一份同一调度轮排队输入 42 并调用 ask_delete,立即切到第二份。等待完成后确认框显示 OtherTwo,确认删除后两份的工作表数量为 (2, 1),第一份的删除请求实际删除了第二份的表,违反 TABLE-01 与 UX-07。隔离副本绑定原工作簿后,同一回归得到 OriginTwo 和 (1, 2)。修复方向:等待请求及确认框携带原工作簿和目标工作表身份,引用查询与确认删除都按该身份执行;目标关闭或变化时重新校验,补等待期间切换工作簿和确认删除后的逐工作簿断言。
crates/ely-lok/src/view/scroll.rs:54 — 水平自动滚动只比较单元格左边缘,遗漏右边缘越出视口的情况。真实 ElyTable 默认 1100×720 窗口、新建空白表,在名称框输入 M1 并回车:名称框显示 M1,画布保持 A 列起始位置,M1 只露出左侧,右边框与填充柄均被窗口裁掉;从 L1 按右方向键进入 M1 同样走此判断,影响 TABLE-02 的填充柄操作。隔离断言以 1052 像素网格视口和 M1 的 (15360, 0, 1280, 256) twips 验证右下角可见性,原样失败,改为比较 x + w 后通过。修复方向:水平滚动按完整目标矩形及冻结区可用宽度判断,覆盖部分可见的右边缘单元格、键盘进入及填充柄可见性。