Files
ElyOffice/tasks/reviews/R4.5-r3.md
T
ZacharyZhang-NYandClaude Opus 5.5 07c0b43542 R4.5: a press lands on the pressed character [~]
Component 5af11fe..c35fdac (pushed): a press opens its block with the
caret on the pressed character; a secondary press moves the caret and
emits DocumentEvent::Pointed. Three review rounds failed; the round-3
findings are fixed with the reviewer's probes as regressions, unreviewed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 11:35:38 -04:00

3.2 KiB

FAIL

  1. Ely-GPUI-Components/src/documents/tree/sources.rs:287 — The join branch consumes retained indentation and literal > characters as removed container prefixes. In a `fox\n y` z, pressing the displayed o moves to byte 3 (f) instead of byte 4, with either mouse button. In > <div>\n> > alpha beta</div>, right-pressing the displayed > returns byte 7 instead of 10. Preserve which prefixes were actually removed and which spaces or marks remain displayed; do not consume every leading [ \t>] as one join. Reproduced by review_r3_inline_code_kept_indent_press, its left-press counterpart, and review_r3_quoted_html_kept_mark_press in .work/R4.5-r3-review/press-final.log.

  2. Ely-GPUI-Components/src/documents/tree/sources.rs:31 — Assigning Markdown decoding to every text leaf incorrectly decodes literal character references inside autolinks. For <https://example.com/?a=&amp;b=2>, the renderer keeps &amp; verbatim, but the reverse reader decodes it and abandons matching the preceding text. Right-pressing x in example consequently returns byte 1 instead of 10. Carry the autolink's verbatim context into its source pieces so their decoding matches the parsed text. review_r3_autolink_literal_reference_press fails on this commit and passes on 83d747d (press-final.log, base-comparison.log in .work/R4.5-r3-review/).

  3. Ely-GPUI-Components/src/documents/tree/sources.rs:32 — Code spans are always read as plain source, missing GFM's removal of escaped pipes inside table cells. In | `ab\|cd` |\n| --- |\n| cell |\n, the cell displays ab|cd, but the remaining source backslash stops reverse matching. Right-pressing b reports byte 3 instead of 4. Preserve the table context and map its escaped pipes through their removal without decoding ordinary code-span backslashes. review_r3_table_escaped_pipe_press fails here and passes on 83d747d (press-final.log, base-comparison.log).

  4. Ely-GPUI-Components/src/documents/tree/sources.rs:309 — Decoded whitespace cannot participate in the whitespace normalization applied by the renderer: both the join handling and the skip branch require raw source characters. Right-pressing b in ab &#10; y returns byte 0 instead of 1; right-pressing b in <div>ab&#32;</div> returns byte 5 instead of 6 because the decoded trailing space was dropped from the drawing. Apply the same Markdown line joining and HTML whitespace collapsing to decoded references while retaining their source offsets. Both mouse probes (review_r3_decoded_line_end_press, review_r3_html_decoded_space_press) fail here and pass on 83d747d (press-final.log, base-comparison.log).

  5. Ely-GPUI-Components/src/documents/tree/sources.rs:263 — The new numeric-reference decoder differs from markdown-rs: it accepts C0/C1 controls that the parser replaces with U+FFFD. For ab &#128; y, reverse matching therefore encounters a different character from the drawing and incorrectly maps a right press on b to byte 0 instead of 1. Decode numeric references with the parser's rules, including its control-character replacements. review_r3_numeric_control_press fails here and passes on 83d747d (press-final.log, base-comparison.log).