Files
ElyOffice/tasks/reviews/R6.1-r1.md
T
ZacharyZhang-NYandClaude Opus 5.5 02b86cd5cd R6.1 round 1 fixes: component 6a3f348
Open cells keep presses inside their field, finds open the matching
cell, a closing backslash keeps the next pipe, and right presses map
through typed pipes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-15 01:18:39 -04:00

3.4 KiB

FAIL

  1. reference/Ely-GPUI-Components/src/documents/render/table.rs:69 — [P1] The activation handler also wraps the active cell's TextInput. Its mouse-down bubbles into pressed_cell, which commits the field and reopens it at the end. Reproduction: open the cell alpha, then click its second character; the probe gets caret 5 instead of 1. Type X, click inside the field, type Y, press Esc, then undo once: alphaX remains instead of the original alpha. This breaks R6.1's caret placement and single write-back transaction. Keep presses inside the active field from reactivating its cell, preserving its caret, selection and transaction; add these interaction regressions. Both failures are recorded in .work/R6.1-r1/probes-expanded.log.

  2. reference/Ely-GPUI-Components/src/documents/document/edit.rs:108 — [P2] Changing Landing::End to open the last table cell breaks show_match, which still calls it and selects offsets relative to the whole block (document/finding.rs:45). In | needle | B |\n| --- | --- |\n| C | tail |\n, finding needle opens tail; the requested selection also lies outside that field and is discarded. ElyMark's Find navigation calls this method, so table matches are no longer selected (PRD MARK-10). Open the cell containing the match and calculate selection relative to that cell, retaining correct handling of matches spanning cells. Add a visual-mode table-search regression; review_probe_find_selects_its_table_cell reproduces the failure.

  3. reference/Ely-GPUI-Components/src/documents/document/cells.rs:146 — [P2] guarded protects pipes inside the input but leaves a trailing odd backslash able to escape the following table separator. Open the first header cell of |a|b|\n|---|---|\n|c|d|\n, append \, and press Esc. The result is |a\|b|\n|---|---|\n|c|d|\n, which the parser reads as a paragraph rather than a table. Editing one cell therefore changes the neighboring cell boundary, contrary to R6.1 and PRD §14.3. Protect the boundary when writing compact cells, keeping snapshot and commit consistent; test that a terminal backslash preserves the table and adjacent cells. review_probe_trailing_slash_cannot_consume_next_cell confirms the failure.

  4. reference/Ely-GPUI-Components/src/documents/document/point.rs:185 — [P2] point_open passes the raw input hit offset into the escaped snapshot. The new snapshot code inserts backslashes before typed pipes and remaps the selection, but this independent hit offset is not remapped. In an open cell, type ||||||||||[go](https://ely.dev) and right-click g: the probe receives link: None, so ElyMark omits the link actions required by MARK-16. Convert the pressed byte through the same escaping transformation before calling target_at, and test right-click targets after newly typed pipes. review_probe_right_click_after_raw_pipes_targets_the_link confirms the missing target.

  5. reference/Ely-GPUI-Components/src/documents/document/cells.rs:12 — [P3] Seven added comments violate the explicit ten-word limit: this line has 12 words; cells.rs:104, :129, and :146 have 11, 13, and 11; document/lists.rs:225 has 14; document/tests/cells.rs:10 has 11; render/table.rs:12 has 12. Counting whitespace-separated words in the added comment lines reproduces these failures (.work/R6.1-r1/static-audit.log). Shorten each to at most ten words while retaining one line.