Fix the case where embed is deleted with backspace on Chrome #3163
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.
This fixes the bug similar to #2285 and #2187
Steps to reproduce:
user-select: all
on.ql-formula
classER
Formula is not in the DOM
AR
Formula is in the DOM (but with no internal content part)
Bug illustration:
In this patch we detect the mutation when the embed is deleted and we remove the full node. We also set the range not to lose the selection. In case when the embed is replaced by pushing a visible key instead of backspace we also remove the node but I couldn't find the solution for setting selection as the node gets updated and replace in DOM.
Playground with the fix: https://codepen.io/senya1111/pen/ExKbOdW