Files
ElyOffice/tasks/reviews/R6.1-r3.md
T
2026-10-15 02:12:11 -04:00

3.0 KiB

FAIL

  1. reference/Ely-GPUI-Components/src/documents/document/mod.rs:249 — [P1] text() now escapes a cell's typed pipes, but caret() still indexes that result with the raw input offset (document/place.rs:28). In | alpha | beta |\n| --- | --- |\n| c | d |\n, replace alpha with |中 and leave the cell open: reading the caret panics because byte 6 lies inside 中. ElyMark's ten-second session persistence calls this through MarkView::place, so ordinary cell input can crash the application. ASCII text after a pipe also reports the wrong column. Map the caret through the same escaping transformation as the snapshot and commit; add Unicode and ASCII caret regressions. Both review_r3_caret_after_pipe_* probes fail in .work/R6.1-r3/probes-verified.log.

  2. reference/Ely-GPUI-Components/src/documents/document/edit.rs:238 — [P2] Replacing only a cell's content does not preserve empty edge cells when the row omits outer pipes. Open alpha | beta\n--- | ---\nc | d\n, select all of alpha, delete it and press Esc: the header becomes | beta, which has one cell, and the entire table becomes a paragraph. Clearing beta also destroys the table; clearing c moves d into the first column. This changes neighboring structure rather than just the edited cell (R6.1, PRD §14.3). Preserve the required row delimiters when an edge cell becomes empty, keeping snapshot and commit consistent and undo atomic. The three review_r3_clear_bare_* probes fail in .work/R6.1-r3/probes-verified.log.

  3. reference/Ely-GPUI-Components/src/documents/document/point.rs:190 — [P2] Right-clicking another cell after typing commits the active cell, then discards the press because the whole table differs from its pre-commit drawing. Open alpha in | alpha | beta |\n| --- | --- |\n| c | d |\n, append X, then right-click beta's padding: no DocumentEvent::Pointed is emitted, so ElyMark shows no context menu (MARK-16). Resolve the pressed cell against the committed table instead of rejecting every change elsewhere in that table, and add the dirty-neighbor regression. review_r3_right_click_neighbor_after_edit fails while the no-edit control passes in .work/R6.1-r3/probes-verified.log.

  4. reference/Ely-GPUI-Components/src/documents/document/lists.rs:241 — [P2] Cell navigation loses its destination when committing starts an asynchronous parse. Put the table from entry 3 at the start of a document followed by a fenced block containing 131072 x characters. Open alpha, type X, then press Tab: the edit is committed, but open() returns at edit.rs:80 while parsing, and no cell opens even after parsing finishes. Tab therefore stops working after edits in supported visual documents above 128 KiB. Retain the requested destination and open it once the matching parse completes; cover asynchronous cell navigation. review_r3_tab_after_edit_in_long_document fails and its no-edit control passes in .work/R6.1-r3/long-document.log and .work/R6.1-r3/probes-verified.log.