You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The issue was reported here - https://bugs.chromium.org/p/chromium/issues/detail?id=820067 and has been partially solved in Chrome 65 (just in time as it was released few day ago) 🎉 However, for this case it still happens (see above report for more detials).
The real problem with it, is that usually we may block removing inlineFiller during composition, however in this case keyup is fired before compositionstart (so renderer is unaware of composition which may/will take place) and removes the inlineFiller as character was already inserted, which triggers the native issue moving caret / inserting character in a wrong place.
The text was updated successfully, but these errors were encountered:
The native Chrome issue was closed as WontFix, but as mentioned in a previous comment it should be solved by further improvements in fillers managment.
It is not only case of inline filler unfortunately. When working on #3703 I noticed following behaviour - when some text is inserted or removed from before selection (via CharacterData.insertData/deleteData) in the text node in which composition takes place, the accent character is placed in the offset from selection equal to inserted/deleted characters (it happens only if no accent was selected before text length changes):
Fix: Renderer should avoid doing unnecessary DOM structure changes. Ensuring that the DOM gets updated less frequently fixes many issues with text composition. Closes #1417. Closes #1409. Closes #1349. Closes #1334. Closes #898. Closes ckeditor/ckeditor5-typing#129. Closes ckeditor/ckeditor5-typing#89. Closes #1427.
mlewand
transferred this issue from ckeditor/ckeditor5-engine
Oct 9, 2019
Extracted from https://github.com/ckeditor/ckeditor5-typing/issues/95 as I found an exact cause and it deserves a separate issue as it is quite different than others.
The issue:
As mentioned in https://github.com/ckeditor/ckeditor5-typing/issues/95#issuecomment-371516735, this issue is caused by the native Chrome bug which moves the selection if some characters are removed from focused text node (while triggered by listening on event like
keyup
,compostion*
, etc).The issue was reported here - https://bugs.chromium.org/p/chromium/issues/detail?id=820067 and has been partially solved in Chrome 65 (just in time as it was released few day ago) 🎉 However, for this case it still happens (see above report for more detials).
The real problem with it, is that usually we may block removing
inlineFiller
during composition, however in this casekeyup
is fired beforecompositionstart
(so renderer is unaware of composition which may/will take place) and removes theinlineFiller
as character was already inserted, which triggers the native issue moving caret / inserting character in a wrong place.The text was updated successfully, but these errors were encountered: