Files
ElyOffice/tasks/reviews/R4.5-r1.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

4.6 KiB

FAIL

  1. Ely-GPUI-Components/src/documents/tree/sources.rs:105 — Continued blockquotes do not map back through their quote prefixes. With > alpha\n> beta, a right press on the rendered e of beta moves to byte 2 (a in alpha), instead of byte 11. align skips the newline but cannot cross the following >, then silently uses the leaf start. Preserve the source positions of continuation lines, including their container prefixes. Reproduced by review_quote_ui_press_maps_continuation in .work/R4.5-r1-review/ui-probes.log.

  2. Ely-GPUI-Components/src/documents/tree/sources.rs:97 — Alignment returns before skipping source characters that precede the requested glyph. In a \*star\* z, the displayed first * maps to byte 2 (the backslash), not byte 3. In a ` xy ` z, the displayed x maps to byte 3 (the stripped space), not byte 4. Normalize the source position before returning the requested character; cover the escaped glyph and first character of a trimmed code span, rather than only characters after them. Both exact-offset probes fail in ui-probes.log.

  3. Ely-GPUI-Components/src/documents/tree/sources.rs:31 — code_from only handles code whose complete displayed body follows the first newline verbatim. Ordinary indented code therefore has no character mapping. For alpha\n beta\n, pressing the rendered e of beta should land at byte 15; the actual left press opens at byte 18 and the right press reports byte 0. Track code positions through removed indentation instead of dropping to Place::Block. Both mouse-path probes fail; equivalent fenced-code controls pass.

  4. Ely-GPUI-Components/src/documents/tree/mod.rs:418 — The new source metadata trusts positions on alert text that tree/blocks.rs::marker has already shortened without updating its position. For > [!NOTE]\n> alpha beta, a right press on b reports byte 2, inside [!NOTE], instead of byte 18. Preserve or adjust source positions when removing the alert marker before recording Inline.sources. Both the mapping probe and review_alert_ui_press_maps_body reproduce this.

  5. Ely-GPUI-Components/src/documents/tree/mod.rs:366 — HTML blocks are drawn through html_block_text, which never populates Inline.sources; their new text-press handler consequently has no source location. For <div>alpha beta</div>\n, pressing the rendered e should land at byte 12, but the left press opens at byte 21 and the right press reports byte 0. Carry source spans through HTML text extraction and normalization. Both real mouse-press probes fail in ui-probes.log.

  6. Ely-GPUI-Components/src/documents/document/visual.rs:116; src/documents/render.rs:413 — Raw link definitions and front matter bypass character hit testing entirely. Right-pressing byte 10 of the displayed [ref]: https://ely.dev reports byte 0. Pressing v in the displayed front matter ---\ntitle: value\n---\n should land at byte 11, but reports byte 0 on right press and opens at byte 20 on left press. Route these literal text renderings through TextLayout hit testing with their source offsets, including the removed front-matter fence. The definition and front-matter probes reproduce the failures.

  7. Ely-GPUI-Components/src/documents/document/point.rs:124 — Focusing the document after a secondary press triggers focused, which automatically opens an empty visual document. A right press in an initially closed empty document emits Pointed and then creates and focuses a TextInput, violating the explicit requirement that a right press open no block. Keep secondary pointing from triggering this auto-open path. review_empty_closed_document_right_press_stays_closed verifies that the document starts closed and fails after the actual right press.

  8. Ely-GPUI-Components/src/documents/document/point.rs:106 — Target kind and context are captured before committing the open block and are not reconciled with the reparsed document. Open the first paragraph of First.\n\nalpha beta\n, replace it with an opening code fence, then right-press the rendered e in the second paragraph. The caret correctly moves to byte 12 of the resulting code block, but the event says Paragraph and in_code: false, giving the owner the wrong menu context. Resolve the surviving target against the committed parse, or reject a target invalidated by that edit. review_right_press_uses_kind_after_commit reproduces the mismatch.

  9. Ely-GPUI-Components/src/documents/tree/sources.rs:73 — The added comment “Source byte under drawn byte at, if a piece holds it.” contains 11 words, exceeding the project's explicit ten-word limit. Shorten it to at most ten words; the added-comment scan records this in .work/R4.5-r1-review/checks.log.