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>
11 lines
3.0 KiB
Markdown
11 lines
3.0 KiB
Markdown
FAIL
|
|
|
|
1. Ely-GPUI-Components/src/documents/tree/blocks.rs:140 — A decoded newline can panic while opening valid Markdown. `marker` calls `past_line` before checking whether the quote is an alert, and `past_line` assumes the decoded newline exists literally in the source. Parsing `> alpha beta` without a final newline panics with `its line end is written`; `> [!NOTE] alpha beta` also panics. Derive the retained text's position through the decoded-to-source mapping, and only adjust a confirmed alert; do not assert that decoded breaks must be physical line endings. Reproduced by both `review_r2_*_with_encoded_newline_does_not_panic` probes in `.work/R4.5-r2-review/point-final.log`.
|
|
|
|
2. Ely-GPUI-Components/src/documents/tree/sources.rs:55 — CRLF lines fail character mapping because `written` loses its trailing CR while `shown` retains it. The failed suffix comparison makes `on_point` use the body's initial offset. In a bare fenced code block with CRLF and body `alpha` followed by `beta`, pressing `p` returns byte 5 instead of 7, with both mouse buttons. Multiline CRLF front matter returns 5 instead of 12 for `v` in `title: value`; a multiline link definition returns 0 instead of 10. The new helpers also ignore CR-only line endings: the code body starts at the closing fence's end. Read LF, CRLF and CR consistently on both sides while retaining original byte offsets. The CRLF mouse probes and `review_r2_line_mapping_matrix` fail in `.work/R4.5-r2-review/point-final.log`; the existing regression only exercises the final CRLF code line.
|
|
|
|
3. Ely-GPUI-Components/src/documents/tree/sources.rs:143 — Greedy equality still mistakes removed syntax for the pressed glyph. Right-pressing the displayed backslash in `a \\ z` reports byte 2, the escape, instead of byte 3. In `> <div>\n> >alpha beta</div>`, pressing the displayed `>` reports byte 8, the quote prefix, instead of byte 10. The same ambiguity maps the retained leading space in the code span of ``a ` xy ` z`` to trimmed byte 3 instead of byte 4. Preserve which bytes are escapes, container prefixes and trimmed code delimiters before matching retained characters. The backslash and quoted-HTML mouse probes, plus `review_r2_code_normalized_space_reads_back`, reproduce these remaining round-1 alignment cases in `.work/R4.5-r2-review/point-final.log`.
|
|
|
|
4. Ely-GPUI-Components/src/documents/document/point.rs:132 — Comparing only the pressed block's raw text does not detect changed reference targets, so a write-back can still emit stale context. Open `[ref]: https://old.dev\n\nGo [there][ref]\n`, edit the first block's definition to `https://new.dev`, then right-press `there`. The definition is committed and the paragraph resolves to the new address, but `Pointed.link` is still `https://old.dev` because the paragraph's source text is unchanged. Resolve the target from the committed parse, or reject the press when its resolved metadata changes as well as when its source changes. `review_r2_changed_definition_does_not_emit_old_link` fails with the old address in `.work/R4.5-r2-review/point-final.log`.
|
|
|