-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Android Web has Known Issues [Compilation of other issues] #1895
Description
tdlr: Draft.js does not work correctly with some combinations of Android keyboards and mobile web browsers.
More details below:
Why was my issue merged into this one?
We know there are problems with Draft.js on mobile Android browsers, and merging all Android bug reports into one place keeps things organized and reduces noise.
Why is Draft.js broken on some Android phones?
Some Android keyboards do not send standard keyboard input events, and the information about what happened during the input is missing in the event data. As reported in issue #1067,
"When backspacing using some Android keyboards such as the Google keyboard, no key events are fired and no key codes are provided by the input event data when editOnInput gets called."
Also in general, we continue to encounter quirks and differences in general with Android web compared to other web platforms, and maintainers agree that it would require a rewrite of some parts of Draft.js in order to address the problem.
When will this be fixed?
Facebook maintainers are currently prioritizing other bug fixes and improvements, and we believe this problem will require a large investment to fully fix. So for now it's not being fixed.
This sucks and it's awful!!!!111
I agree, it's really a shame. Sorry we have not been able to fix it. Maintainers internally and externally have made several attempts, but none have been successful. Feel free to work on this in a fork if you are interested though! That's part of the beauty of Open source; you can take this code and make it better, and nobody can stop you.
Any work-arounds?
We would love help from an external contributor to write a guide on this. Some of the issues listed below have comments suggesting various hacks, but there is not an organized guide at this point.
What are the specific known bugs?
-
The overall difference in the events which fire compared to other browsers: "Android does not fire onChange for every input event like desktop/iOS Android does not fire onChange for every input event like desktop/iOS #580"
-
Backspace leading to broken state: "Backspacing and deletion of immutable/segmented entities handled incorrectly with some Android keyboards" Backspacing and deletion of immutable/segmented entities handled incorrectly with some Android keyboards #1066 & "Wrong editorState after deleting (Android)" Wrong editorState after deleting (Android) #1076 & "Deleting composition and starting new one results in extra character appearing" Deleting composition and starting new one results in extra character appearing #1011
-
Autocorrect can lead to a broken state: "Broken on Android mobile web" Broken on Android mobile web #102 & [Bug] "Android auto suggestion: inserts duplicate characters, hides content" [Bug] Android auto suggestion: inserts duplicate characters, hides content #911 & "auto-correct creates bad state in Android 5.0" auto-correct creates bad state in Android 5.0 #1010 & "[Bug] Android auto suggestion: inserts duplicate characters, hides content" [Bug] Android auto suggestion: inserts duplicate characters, hides content #911
-
Selecting all can lead to a broken state: "Bug: Select all action on mobile devices breaks editor on Android" Bug: Select all action on mobile devices breaks editor on Android #954
-
General issue where English words disappear with Google keyboard, and "Samsung Keyboard" drops Korean words: "There's input bug in Android keyboard There's input bug in Android keyboard #1224" & "Text gets lost on mobile devices" Text gets lost on mobile devices #1077 & "Draft editor does not take input from mobile keyboards" Draft editor does not take input from mobile keyboards #1380
-
Repeated words appearing in Firefox on Android: " Reapiting user insert android" Reapiting user insert android #1079
-
Chrome 65 on Android dispatches composition events when mouse moves: "Heads up: Chrome 65 will change composition events on Android Heads up: Chrome 65 will change composition events on Android #1657"
We will continue periodically to update this list with any new reports.