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>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-15 01:18:39 -04:00
1 parent 587862ed4d
commit 02b86cd5cd
5 files changed
+16 -5

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
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.