Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IME][Safari] IME composition broken in empty paragraph in Safari #4533

Closed
farthinker opened this issue Aug 14, 2019 · 6 comments
Closed

[IME][Safari] IME composition broken in empty paragraph in Safari #4533

farthinker opened this issue Aug 14, 2019 · 6 comments
Labels
domain:typing/ime This issue reports a problem with standard typing & IME (typing method for CJK languages). package:engine resolution:expired This issue was closed due to lack of feedback. status:stale type:bug This issue reports a buggy (incorrect) behavior.

Comments

@farthinker
Copy link

The original issue was described in #1333.

I've tried to fix it in https://github.com/ckeditor/ckeditor5-typing, but failed. Some IME cannot bear any DOM selection update.

So I thought maybe we should prevent DOM selection change while composing in the render process(like return false in _domSelectionNeedsUpdate). I'll submit a PR later.

@mlewand mlewand transferred this issue from ckeditor/ckeditor5-engine Oct 9, 2019
@mlewand mlewand added this to the iteration 27 milestone Oct 9, 2019
@mlewand mlewand added status:confirmed type:bug This issue reports a buggy (incorrect) behavior. package:engine labels Oct 9, 2019
@mlewand
Copy link
Contributor

mlewand commented Oct 21, 2019

Related PR: ckeditor/ckeditor5-engine#1783

@scofalik scofalik reopened this Oct 21, 2019
@scofalik
Copy link
Contributor

scofalik commented Oct 21, 2019

Unfortunately, we have to revert the PR that fixed this issue: ckeditor/ckeditor5-engine#1783.

After some deeper tests, it appeared that this fix is causing serious problems with track changes on Android (GBoard keyboard).

As of now, the only way to reproduce the error is to use track changes plugin, which requires some additional set up: https://ckeditor.com/docs/ckeditor5/latest/features/collaboration/track-changes/track-changes.html. Basically, it is enough to turn on track changes and start typing at the beginning of a block (paragraph). The editor crashes after writing a few characters and a space. It is easier to crash if the paragraph has some bolded text in it.

We will let you know if we have any further information about this issue.

@scofalik
Copy link
Contributor

scofalik commented Nov 12, 2019

I've pushed branch ckeditor5-typing#i/4533 which includes a manual test showcasing the problem. The test simulates what happens in track changes mode, it modifies a marker when some content is inserted in the editor. It should be used with the code prepared in this PR to reproduce the below error.

Testing scenario:

  1. Run tests using yarn manual --files=typing.
  2. Open http://localhost:8125/ckeditor5-typing/tests/manual/4533/1.html on Chrome@Android with Gboard keyboard and all autocorrection/suggestion options on.
  3. Put the caret at the beginning of the paragraph.
  4. Type A then type B.

Nov-12-2019 12-57-48

As you can see, on typing A the caret is incorrectly moved before the letter and then on typing B the editor crashes.

This does not happen without the fix proposed in @farthinker's PR:

Nov-12-2019 13-09-21

Or when using a desktop browser.

@Reinmar Reinmar added the domain:typing/ime This issue reports a problem with standard typing & IME (typing method for CJK languages). label Nov 18, 2019
@Reinmar Reinmar modified the milestones: next, iteration 29 Dec 2, 2019
@Reinmar
Copy link
Member

Reinmar commented Dec 2, 2019

TODO: Verify whether #1333 is related to this issue.

@Reinmar Reinmar self-assigned this Jan 17, 2020
@Reinmar Reinmar modified the milestones: iteration 29, iteration 30 Feb 24, 2020
@mlewand mlewand changed the title [IME][Safari] IME composistion broken in empty paragraph in Safari [IME][Safari] IME composition broken in empty paragraph in Safari Feb 24, 2020
@Reinmar Reinmar modified the milestones: iteration 30, iteration 31 Mar 10, 2020
@Reinmar Reinmar modified the milestones: iteration 30, iteration 31 Mar 24, 2020
@Reinmar Reinmar modified the milestones: iteration 31, next Apr 16, 2020
@pomek pomek modified the milestones: next, nice-to-have Nov 10, 2020
@Reinmar Reinmar removed their assignment Nov 4, 2021
@pomek pomek removed this from the nice-to-have milestone Feb 21, 2022
@CKEditorBot
Copy link
Collaborator

There has been no activity on this issue for the past year. We've marked it as stale and will close it in 30 days. We understand it may be relevant, so if you're interested in the solution, leave a comment or reaction under this issue.

@CKEditorBot
Copy link
Collaborator

We've closed your issue due to inactivity over the last year. We understand that the issue may still be relevant. If so, feel free to open a new one (and link this issue to it).

@CKEditorBot CKEditorBot added the resolution:expired This issue was closed due to lack of feedback. label Nov 4, 2023
@CKEditorBot CKEditorBot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:typing/ime This issue reports a problem with standard typing & IME (typing method for CJK languages). package:engine resolution:expired This issue was closed due to lack of feedback. status:stale type:bug This issue reports a buggy (incorrect) behavior.
Projects
None yet
Development

No branches or pull requests

6 participants