zulip / zulip-mobile

Zulip mobile apps for Android and iOS.
https://zulip.com/apps/
Apache License 2.0
1.29k stars 649 forks source link

Chinese and Japanese input don't work on iOS (blocked on RN v0.57) #2434

Closed gnprice closed 5 years ago

gnprice commented 6 years ago

The normal input methods for users to write in Chinese or in Japanese don't work in our app, on iOS.

You don't need to know any Chinese or Japanese to work on this issue; I've described how to reproduce it below. Ask me here or in chat if something is confusing.

Steps to reproduce:

The keyboard "Japanese -- Kana" is similarly broken, but the repro is harder to describe starting from no knowledge of Japanese. I'll consider this issue fixed when the Chinese keyboard is working :) -- that'll probably fix the Japanese keyboard too, and I'll file a separate issue if it doesn't.

borisyankov commented 6 years ago

This is related: https://github.com/facebook/react-native/issues/18403

hjiang commented 6 years ago

I ran into this problem with the latest iOS app too. This is a video that shows the problem: http://dropshare.47590191.mtmss.com/1Uh9o3wBA0.mov

All non-latin languages are probably broken.

hjiang commented 6 years ago

Seems the upstream issue had been closed. Is there plan to making a new release soon? The current version is unusable for CJK users.

borisyankov commented 6 years ago

The fix for the issue is in this commit: https://github.com/facebook/react-native/commit/892212bad2daadd373f4be241e4cd9889b0a1005

It has not yet landed in a released version of React Native. That should be included in 0.57 (but this is a blocker for its release https://github.com/facebook/react-native/issues/20567)

The fix itself is only related to controlled inputs which we are moving away from anyway. But are blocked by another bug (https://github.com/facebook/react-native/issues/18272)

gnprice commented 6 years ago

For everyone's enjoyment/education: that upstream commit https://github.com/facebook/react-native/commit/892212bad has a very nice explanation of the diagnosis and the fix.