Files
ElyOffice/tasks/reviews/R4.9-r1.md
T
ZacharyZhang-NYandClaude Opus 5.5 f84f990f90 ElyMark: R4.9 round 1 fixes
Menus act on an open block's selection (component 6d90351), clipboard
keys reach a focused field outside the document, Strike binds per
platform, platform-correct key tests, Delete Table in the table menu
(component 24ffc45), short comments. Pin 6b033f3 -> 24ffc45.

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

14 lines
3.9 KiB
Markdown

FAIL
1. `apps/ely-mark/src/blocks.rs:126` — The new menus do not execute while a visual block is being edited. On Windows and Linux, open `alpha beta`, select `alpha` in its block, then choose Format → Strong: the text remains unchanged. Copy as Markdown from the Edit menu likewise leaves the clipboard unchanged. Opening MenuBar blurs and commits the block, discarding its selection and input entity; closing the menu restores that removed input's focus, so action dispatch never reaches Desk. The same menu operation succeeds in Source mode, and the shortcut succeeds in the open visual block. Preserve the document selection and a live dispatch target across the shared menu/document focus handoff, and test actual menu interaction rather than only menu models and root-focused shortcuts. Evidence: `.work/R4.9-r1/full-menu.log`, `probes.log`, `linux-probes.log`, and `probe-source.log`.
2. `apps/ely-mark/src/clip.rs:16` — Paste as Plain Text is bound throughout the `office` context, but its handler always inserts into the active document, regardless of the focused input. Open `alpha beta`, press Ctrl+F, put `query` on the clipboard, and press Ctrl+Shift+V in the Find field: the document becomes `queryalpha beta`, while the search field receives nothing. This reproduces on Windows and Linux. Scope document paste to document focus and let other focused text fields receive their own paste; cover Find and dialog inputs. Evidence: `plain_paste_in_find_does_not_edit_document` in `.work/R4.9-r1/probes.log` and `linux-probes.log`.
3. `apps/ely-mark/src/blocks.rs:82` — Strike skips the platform-specific punctuation handling used by the other bindings. On a US Linux layout, GPUI converts Alt+Shift+5 to `alt-%` and clears Shift for the symbol; the registered `alt-shift-5` cannot match it. Sending that normalized event leaves `alpha` unchanged instead of producing `~~alpha~~`. The existing test passes only because it injects the Windows-shaped event. Bind Strike using each platform's actual punctuation representation and test the normalized event. Evidence: `.work/R4.9-r1/linux-probes.log` (`native_linux_strike_key`; the adjacent list/zoom controls pass), and the pinned GPUI Linux `keystroke_from_xkb` implementation.
4. `apps/ely-mark/src/blocks/tests.rs:81` — The new test module breaks the non-Windows gates. On Linux, `paragraph_keys_retype_the_caret_block` fails at line 82 because `ctrl-shift-[` does not match `ctrl-{`; `view_keys_follow_typora` fails at line 144 because `ctrl-shift-=` does not match `ctrl-+`. The literal `ctrl` chords also ignore macOS's `secondary` mapping. Separately, the unconditional `keys` helper at line 251 has only a Windows-gated caller, so Linux Clippy with `-D warnings` fails on dead code. Make the interaction events platform-correct and compile the helper on the same platforms as its callers. Evidence: `.work/R4.9-r1/linux-tests.log` (6 passed, 2 failed) and `linux-clippy.log`.
5. `apps/ely-mark/src/tools.rs:62` — Paragraph → Table ends at Prettify Source Code and omits Typora's Delete Table item. This is not covered by the decision to omit unsupported component operations: the pinned component's public `block(BlockCommand::Delete)` already removes the table at the caret. A probe with a table between `before` and `after` successfully removes just that table. Users currently cannot invoke this supported Typora menu operation, contrary to MARK-15's matching-items requirement. Add the table-specific action with an outside-table refusal, using the existing block command, and cover its menu dispatch and undo. Evidence: `.work/R4.9/typora-main-menus.txt` and `component_can_delete_table` in `.work/R4.9-r1/linux-probes.log`.
6. `apps/ely-mark/src/clip.rs:1` — This new comment has 12 words; the new comment at `apps/ely-mark/src/blocks/tests.rs:161` has 11. Both exceed the explicit ten-word limit, and `python tests/scripts/comments.py` fails on exactly these two lines. Shorten or remove them. Evidence: `.work/R4.9-r1/comments.log`.