Android 16 + Chrome 140 + Gboard: deleting a word restores it; typed characters land after the caret (reproduces on official demo)
Provide detailed reproduction steps (if any)
- On an Android 16 tablet/kiosk, open Chrome and go to the official Classic editor demo: https://ckeditor.com/docs/ckeditor5/latest/examples/builds/classic-editor.html (also reproduced on https://ckeditor.com/docs/ckeditor5/latest/examples/builds-custom/full-featured-editor.html).
- Tap into the editor so Gboard appears. Gboard is the enabled keyboard.
- Type
this is a test. - Place the caret at the end of
testand tap Backspace repeatedly to delete that word. - Type
this is a testagain after a partial delete.
Also occurs while typing a new sentence: a letter is inserted on the wrong side of the caret.
✔️ Expected result
- Backspace deletes one character at a time, including the last letter of the word, and the word stays gone.
- New characters insert at the caret.
- Typing
this is a testproduces exactly that text.
❌ Actual result
- Characters can appear after the caret (e.g. an extra
slands to the right of the cursor while typing). - Deleting
testoften stalls atthis is a t— the last letter cannot be removed, or the full word comes back when the last letter is deleted. - Continuing to type after that produces duplication, e.g.
this is a t+this is a testbecomesthis is a testest.
This is not specific to our app. It reproduces on CKEditor’s current public demos (latest release).
It does not reproduce in Quill.js in the same Chrome tab / same Gboard / same device.
Setting autocomplete="off", autocorrect="off", autocapitalize="off", spellcheck="false", and writingsuggestions="false" on the editable (via the CKEditor 5 view writer, so they survive re-render) did not fix it.
Related historical issues (IME / Android composition; previously addressed in the ck/epic/ime-typing work): #13247, #14567, #13994, #16106. Those reports often implicated Samsung Keyboard; this case is Gboard on a Google-certified device.
Other details
- Browser: Chrome 140.0.7339.207
- OS: Android 16; build
BP2A.250605.031.A3 - Device: ApoloSign 32" UHD 4K Smart Portable TV Gen2 (
SW3299T-4K), 10-point capacitive touch, used as a kiosk - Keyboard: Gboard (enabled / default)
- CKEditor version: reproduces on the official demos (always latest). Our app currently ships CKEditor 5 v46.0.0 (GPL ClassicEditor) and sees the same behavior.
- Installed plugins (our app, for context): Alignment, Autoformat, AutoImage, Autosave, Base64UploadAdapter, BlockQuote, Bold, CloudServices, Essentials, Font*, Heading, Highlight, Image*, Indent*, Italic, Link, List, MediaEmbed, Paragraph, PasteFromOffice, Table*, TextTransformation, Underline — not required to reproduce; the stock demo is enough.
- Editor type: ClassicEditor
Source: ckeditor/ckeditor5