Files
ElyOffice/tasks/reviews/R6.8-r1.md
T
ZacharyZhang-NYandClaude Opus 5.5 d1c1ce97cd R6.8 round 1 fix: measure with the current text; the line end is a stop
Component cd61653. Round 1 verdict kept in tasks/reviews.

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

8 lines
2.1 KiB
Markdown

FAIL
- Ely-GPUI-Components/src/editor/ime.rs:117 — P1: IME measurement combines the current buffer with bracket highlights cached from the previous frame. Reproduction on Windows with DirectWrite: render `(a)` with the caret at the start, insert `测` through `replace_and_mark_text_in_range`, then request `bounds_for_range(1..1)` before the next redraw. The retained bracket offsets `(0, 2)` split the new character into invalid UTF-8 font runs, and DirectWrite panics: “end byte index 1 is not a char boundary.” Refresh the derived highlight positions for the current buffer before measurement, and cover this edit-before-redraw sequence with native text-layout tests. The probe fails on 9fb607b and passes on its parent; evidence: `.work/R6.8-r1-review/review_native_ime_bounds_before_redraw.log` and the corresponding `parent-` log.
- Ely-GPUI-Components/src/editor/measure.rs:73 — P2: `closest_index_for_x` in the pinned GPUI returns the line end for positions just beyond the last glyph's start whenever the line contains more than one UTF-8 byte. Consequently, clicking 10% into the final `b` of `ab` returns byte 2 instead of 1; clicking 10% into a single `测` returns byte 3 instead of 0. Mouse placement, dragging, and IME point lookup therefore select the wrong boundary. Make nearest-boundary lookup compare the final glyph's start with the line-end edge, and test both halves of final ASCII and CJK characters. Both probes fail on 9fb607b and pass on its parent, although all 62 existing editor-related tests pass. Evidence: `.work/R6.8-r1-review/review_last_ascii_character_uses_its_midpoint.log`, `review_single_cjk_character_uses_its_midpoint.log`, and their `parent-` logs.
- Ely-GPUI-Components/src/editor/line.rs:117 — P3: Six newly added comments exceed the explicit ten-word limit. Counting whitespace-separated words, `line.rs:117` has 14, `line.rs:168` has 12, and `measure.rs:1`, `measure.rs:9`, `measure.rs:60`, and `tests/wide.rs:9` each have 11. Shorten or remove these comments. The changed-line audit is recorded in `.work/R6.8-r1-review/scope-audit.log`.