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

Compendium of Android keyboard input bugs (new lines, backspaces, phantom caret, duplicated lines, etc.) with videos #6145

Open
josephrocca opened this issue Feb 13, 2020 · 5 comments

Comments

@josephrocca
Copy link

josephrocca commented Feb 13, 2020

There are quite a few open and closed issues on Android keyboard related bugs already (#5924, #3508, #4637, #4927, #5514, #4129, #4307, #3653, #4011, #331, #5245, #4043), but many have gone stale or the OP didn't provide enough details for marijnh and contributors to debug. So here's a fresh issue with demos tested on the latest versions of different browsers and keyboards on Android.

As mentioned by @adrianheine here and elsewhere, these problems may not ever be solved in CodeMirror 5 due to architectural problems, but I figured I'd document them anyway in case there is a desire by some contributor(s) to take a look.

For all of the following demos/examples Android 8.0.0 was used. I've tested iPhone 8+ and it doesn't seem to have any of these problems.

Browser: Firefox 68.5.0 (latest)
Keyboard: Latest version of SwiftKey (7.4.7.6, released 30th January 2020)
Problem: Cannot backspace an empty line to remove it. Notice that SwiftKey's autocomplete does think that we're backspacing the text (it suggests "hello" and eventually "script" when the phantom caret gets to the script tag).
Video: https://i.imgur.com/rxAFAeg.mp4

Browser: Chrome Mobile 79.0 (latest)
Keyboard: Latest version of SwiftKey (7.4.7.6, released 30th January 2020)
Problem: Backspacing an empty line causes keyboard to disappear momentarily. If one backspaces too fast and thus taps the screen while the keyboard is momentarily hidden, codemirror focus is lost and the user has to click into the codemirror textarea again.
Video: https://i.imgur.com/3Kfz5CY.mp4

Browser: Firefox Mobile 68.5.0 (latest)
Keyboard: Latest version of Gboard (8.9.14, released 16th Dec 2019)
Problem: Can't backspace empty line.
Video: https://i.imgur.com/0lwQaPL.mp4

Browser: Firefox Mobile 68.5.0 (latest)
Keyboard: Latest version of Gboard (8.9.14, released 16th Dec 2019)
Problem: When at indentation level 0 (no indentation), things get very weird. Pressing enter/return moves the current line down, and the caret to the start of it. After creating a few lines, if you tap one of the lines, they seem to duplicate, and then when you type, the text seemingly appears backward, but at the start of the line.
Video: https://i.imgur.com/jBsLVGK.mp4

Browser: Chrome Mobile 79.0 (latest)
Keyboard: Latest version of Gboard (8.9.14, released 16th Dec 2019)
Problem: When at indentation level 0 (no indentation), things also get very weird with Chrome. Similar problems to Firefox, except tapping the lines seems to instantaneously separate them so there's a new line between each.
Video: https://i.imgur.com/HKrgBDe.mp4

Browser: Chrome Mobile 79.0 (latest)
Keyboard: Latest version of Gboard (8.9.14, released 16th Dec 2019)
Problem: This is just a bonus video showing how the weird behavior in the above bugs depends on the indentation level.
Demo: https://i.imgur.com/zJi210I.mp4

@marijnh
Copy link
Member

marijnh commented Feb 13, 2020

Thanks for documenting these. As you mention, they may not get fixed in 5.x, but I'll make sure to go over this list and see if these cases work in version 6.

@josephrocca
Copy link
Author

Completely understandable - I'm keenly looking forward to version 6 stabilizing. Thanks so much for all your work on this project! I've used codemirror across many of my projects - you've created something that seems to be part of the essential "infrastructure" of the internet at this point.

@michaelrampl
Copy link

michaelrampl commented May 21, 2020

GIF-200521_084805

Reproduced Backspacing Problem on Android 9, Firefox 68.8, Google keyboard, CodeMirror 5.52.0. Seen in https://github.com/dbis-uibk/relax

Typing multiple "words" and holding backspace afterwards will change cursor position to the word before. This behavior gets worse when working with multiple lines.

Additionally, according to dbis-uibk/relax#100 the capital letter gets moved to the end of a word in some cases.

@markentingh
Copy link

On Android 10, I noticed that when I type a space using an onscreen keyboard, the space is deleted. When I type a second space, it finally "sticks". When I use a bluetooth keyboard, this issue does NOT occur.

@ChristianGruen
Copy link
Contributor

Browser: Firefox Mobile 68.5.0 (latest)
Keyboard: Latest version of Gboard (8.9.14, released 16th Dec 2019)
Problem: Can't backspace empty line.
Video: https://i.imgur.com/0lwQaPL.mp4

This error seems to persist, and it also happens with other Android browsers. It would be just great to see it fixed; it’s the main reason why we are sometimes avoiding CodeMirror, or adding plaintext fallbacks for mobile Android devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants