Allow onValueChange and onSelectionChange to trigger on the same frame, fixing a few bugs where one was not being called#5975
Merged
dylans merged 3 commits intoianstormtaylor:mainfrom Nov 21, 2025
Conversation
… nonselection operations
🦋 Changeset detectedLatest commit: 084986e The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
dylans
reviewed
Nov 20, 2025
Collaborator
There was a problem hiding this comment.
The change looks reasonable, but it does appear to have a few failing tests. I've not looked to see if they were already failing, if this change causes them to fail, or if the tests need to be fixed and were passing by coincidence previously.
I believe it is the result of the fix in #5976 so once that lands I'll let the tests re-run.
This was referenced Nov 21, 2025
Merged
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.
Description
onValueChangeandonSelectionChangehave been treated as mutually exclusive, which is not the case, both can happen in a single frame. This changeswithReact'sonContextChangeto account for that.Issue
Fixes #5814, should fix #5910 (i do not have a mac to test with though)
Also an alternative fix for #5955, eliminating the need for the workaround in #5957, so this PR removes it.
Context
Sometimes, either from complex commands or certain browser behavior, multiple operations will happen in one frame before
onChangegets called. Sometimes this can be a mix of selection and non-selection operations.For some reason
onChangegets called with anoperationparameter, but this is only ever the first operation done in a frame and lacks context of a whole frame. The editor already has anoperationsmember as a list of the operations performed in a frame, so we can just use that.As written
onSelectionChangewill ALWAYS run beforeonValueChange, no matter which is first in the operations list. This can be changed, but this seemed like the simplest way to do it.Checks
yarn test.yarn lint. (Fix errors withyarn fix.)yarn start.)yarn changeset add.)