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

Migrate to beforeInput vol 2 #11438

Closed
oleq opened this issue Mar 9, 2022 · 4 comments · Fixed by #11456
Closed

Migrate to beforeInput vol 2 #11438

oleq opened this issue Mar 9, 2022 · 4 comments · Fixed by #11456
Assignees
Labels
domain:typing/ime This issue reports a problem with standard typing & IME (typing method for CJK languages). Epic package:engine package:typing squad:core Issue to be handled by the Core team. type:feature This issue reports a feature request (an idea for a new functionality or a missing option).

Comments

@oleq
Copy link
Member

oleq commented Mar 9, 2022

📝 Provide a description of the new feature

An epic for revival of #7462 and further work.

ToC


If you'd like to see this feature implemented, add a 👍 reaction to this post.

@oleq oleq added type:feature This issue reports a feature request (an idea for a new functionality or a missing option). package:engine package:typing domain:typing/ime This issue reports a problem with standard typing & IME (typing method for CJK languages). squad:core Issue to be handled by the Core team. labels Mar 9, 2022
@oleq oleq added the Epic label Mar 9, 2022
@CKEditorBot CKEditorBot added the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label Mar 11, 2022
@wimleers
Copy link

@oleq Will this also address #2045?

@huzedong2015
Copy link

In the tracking mode, how long will this problem take? Currently, it seriously affects the use

@Reinmar
Copy link
Member

Reinmar commented Jul 18, 2022

Small status update as it's hard to track the current work based on our activity on GitHub.

  • It seems that the entire effort will consist of 4 main parts:
    1. Migrating from mutation observer to beforeInput. This is done ✅.  But the outcome was: no IME support, no Android support.
    2. Bringing back IME support. This is currently on review in Basic IME support #12024 (update: it's merged now ✅) but it was tested by dozens of users already and the feedback is great. We fixed most issues with IME that we had, including composing when using features like track changes. The snapshot of that work can be tested on https://ckeditor5.github.io/misc/ime-snapshot-220610/ckeditor5/34.1.0/
    3. Bringing back acceptable Android support (it was never perfect so we don't aim at perfect from day one). This is where we are right now. There's huge research behind the scene to understand how to approach this. We're looking for quick wins here.
    4. Improving the implementation, especially for Android as the rest seems already really stable (as I mentioned – it was tested with dozens of users). 
  • Once we have the first 3 points parts done, we'll be ready to release the entire work. I feel that we're really close to this, but we're still looking at how to nail down the Android support. The foundation is really strong so I'm not afraid about that.
  • If you want to test it now:

@Reinmar
Copy link
Member

Reinmar commented Jul 18, 2022

If you have any feedback, especially for CJK languages, we'll appreciate if you share it here. The earlier we know about something, the better :)

@Reinmar Reinmar linked a pull request Aug 3, 2022 that will close this issue
@CKEditorBot CKEditorBot removed the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label Oct 13, 2022
niegowski added a commit that referenced this issue Oct 13, 2022
…reinput

Feature (engine, enter, typing): Typing and text composition (IME) support refactored to use `beforeInput` DOM events instead of DOM mutations and keystrokes. Closes #11438.

Other (typing): Introduced a new `insertText` event mapped from a subset of `beforeInput` events. See #11438.

Other (typing): The `delete` event is now mapped from a subset of `beforeInput` events. See #11438.

Other (enter): The `enter` event is now mapped from a subset of `beforeInput` events. See #11438.

Fix (engine): Fixed conversion of the non-collapsed selection anchored between `<br>` elements (in Safari).

MINOR BREAKING CHANGE (clipboard): The `DataTransfer` class was moved to the engine package.

MINOR BREAKING CHANGE: The `input` command is now deprecated, you should use `insertText` command instead. See #11438.
@CKEditorBot CKEditorBot added this to the iteration 58 milestone Oct 13, 2022
@CKEditorBot CKEditorBot added the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label Nov 2, 2022
@pomek pomek removed the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label Jan 18, 2024
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). Epic package:engine package:typing squad:core Issue to be handled by the Core team. type:feature This issue reports a feature request (an idea for a new functionality or a missing option).
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants