Repository navigation
fix(richtext): preserve selections across focus changes and editing intent - #303
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rich-text formatting and link commands now preserve the selected editor range when focus moves to a toolbar or dialog. Explicit caret movement resumes selection tracking after an outside pointer interaction that did not blur; replacing editor content discards obsolete saved ranges. Separate editors retain independent state.
Regression coverage includes toolbar/dialog restoration, pointer and keyboard caret movement, an empty document selection, content replacement, and keyboard focus across two editors. Independent code review approved the compiler source/test diff with SHA-256
e500498b0c89555eb738ef092837fbc406cc0d4c7991f58b7a1dbe0b8f4a538a.The accompanying M5 records preserve the owner-accepted-exceptions disposition, distinguish the historical Firefox candidate from production, and assess AI-DX1 → M6 → AI-DX2 → AI-DX3. Those interfaces and efficiency gains remain proposed. Private consumer PR #3 remains unmerged and no private hosted workflow is triggered by this PR.
Validation details and the retained failed attempts are in
docs/journals/2026-11-05_m5_closeout.md. Require successful build, acceptance, race and latest-go checks before merge.Local validation passed: focused rich-text regressions; prescribed WasmGC gate (Go 1.26: 4,548 tests, 31 design skips; Go 1.27.2: 4,546 tests, 33 design skips; consumer integration 8/8, no skips); SEO and whitespace checks. Scope resource events remained zero. Final signed implementation commit:
b5b99f9a11ccbc86efe2a25169ea5d11821bd4e5.