C14.6 r2: block history bounds undo and redo; typing lands after undo empties the document

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-12 04:30:09 -04:00
1 parent a75949f285
commit d6ec128811
5 files changed
+10 -5

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
FAIL
1. `reference/Ely-GPUI-Components/src/documents/document/visual.rs:174` — The redo capture uses text equality (`untouched`) instead of the input's history boundary. Create an empty visual document, type `Hi`, press Ctrl+Z, then Ctrl+Shift+Z: it stays empty. Likewise, open the `Seed` block, type `!`, undo, then Ctrl+Y: it stays `Seed`. Undo has restored the original text, but the input still has a redo entry; the capture sends redo to the whole-document history and closes the input, discarding that entry. Both scenarios fail on Windows and WSL (`.work/C14.6-r2/windows-probes.log`, `linux-probes.log`). Keep redo in the block while its local redo history is available; transfer to the document only at the actual history boundary, and test undo followed by redo.
2. `reference/Ely-GPUI-Components/src/documents/document/edit.rs:49` — Whole-document undo to an empty visual document leaves no input for subsequent typing. Create an empty document, type `Hi`, switch to source and back to visual, press Ctrl+Z, then type `Next`: the document remains empty on both Windows and WSL (same probe logs). `history` calls `focused` before the editor's change notification updates the parsed text, so `open` refuses the stale read with “pressed while the text is read again”; parsing completion never retries opening the empty input. Open and focus the empty input after the history change and its parse have settled, and add a regression that types after undo/redo returns to empty.