Skip to content

Android 16 + Chrome 140 + Gboard: deleting a word restores it; typed characters land after the caret (reproduces on official demo) #20236

Description

@srbonham1

📝 Provide detailed reproduction steps (if any)

  1. 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).
  2. Tap into the editor so Gboard appears. Gboard is the enabled keyboard.
  3. Type this is a test.
  4. Place the caret at the end of test and tap Backspace repeatedly to delete that word.
  5. Type this is a test again 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 test produces exactly that text.

❌ Actual result

  • Characters can appear after the caret (e.g. an extra s lands to the right of the cursor while typing).
  • Deleting test often stalls at this 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 test becomes this 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    squad:coreIssue to be handled by the Core team.type:bugThis issue reports a buggy (incorrect) behavior.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions