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

1.7 KiB

FAIL

  • [P1] crates/ely-lok/src/view/borders.rs:97 — New event batches replace the table and revision used by an active drag, while Held retains the old border index. Reproduce: insert a third column, hold the second inner border, undo the insertion while holding, then move the mouse. clamp at line 87 indexes entry 1 of a one-entry array and panics. When the index still exists, dropping instead applies the old drag to the changed table: the kernel probe moved the new border from 3323 to 3623 twips without a stale error. This breaks R5.3's read-revision requirement. Keep the drag's geometry and exact supplying revision together; never reinterpret its index against a newer table, and reject or cancel invalidated drags. Add regressions for undo and topology changes during a drag. Evidence: .work/R5.3-r1-probes.log.

  • [P2] crates/ely-lok/src/view/borders.rs:103 — The fixed six-pixel reach on both sides of every border consumes the interior of short rows. A normal 276-twip row is only 9.2 pixels high at 50% zoom, so the adjacent row-border hit regions overlap across its entire height. After entering the table, clicking the middle of the second row starts a border drag instead of positioning the caret; the input-handler probe reports held border=true, sent delta=0. Limit border hit regions according to the displayed neighboring geometry so ordinary cell clicks remain available, and test those clicks through on_mouse_down at reduced zoom. Evidence: .work/R5.3-r1-hit.log.

  • [P3] crates/ely-lok/src/view/borders.rs:129 — This new comment, the comment at line 145, and crates/ely-lok/src/view/tests/borders.rs:16 each contain eleven words. They fail the project's explicit one-line, ten-word comment rule. Shorten all three to at most ten words.