You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CJK (Chinese, Japanese, Korean) IME input on iOS TextInput has been broken since the introduction of the New Architecture (Fabric). This affects hundreds of millions of potential users across East Asia — arguably the largest language group using IME-based input.
The issues include:
Composition underline disappears or never renders — users cannot see which characters are being composed
Composition state is destroyed mid-input — typed characters are lost or corrupted during IME conversion
maxLength blocks IME mid-composition — Korean syllable building (ㅎ→하→한) and Chinese Pinyin input are truncated prematurely
Controlled value prop interferes with composition — standard React patterns break CJK input entirely
This is not a minor visual glitch — it makes TextInput unusable for CJK languages on Fabric. Users are forced to either disable the New Architecture entirely or build native workarounds.
Steps to reproduce
Create a new React Native project with New Architecture enabled (Fabric)
Add a TextInput component (controlled with value/onChangeText or uncontrolled)
Run on iOS
Switch to a CJK keyboard (Japanese Romaji, Chinese Pinyin, or Korean)
Type text — e.g., "shinkansen" for Japanese, "zhongguo" for Chinese Pinyin, or any Korean syllable
Observe: Composition underline is missing, composition state is destroyed, or characters are corrupted
(Aggregated from multiple reporters — see #48497 and #55257 for individual environment details)
Stacktrace or Logs
No crash — this is a rendering/input behavior regression.
The IME composition state is silently destroyed by Fabric's synchronous
updateEventEmitter:/updateState: calls and defaultTextAttributes reapplication.
Manual verification videos demonstrating correct behavior in all four languages (English, Chinese, Japanese, Korean)
Detailed root-cause analysis for each of the 7 issues
The PR was submitted on March 13, 2026, test videos were provided upon request on March 19, and it has been waiting for review since then — over 4 weeks with no further feedback.
Why This Needs Attention
New Architecture is now the default — CJK users cannot simply opt out forever
The fix is ready — thoroughly tested, well-documented, and waiting for review
East Asian market adoption risk — apps targeting Chinese, Japanese, or Korean users cannot confidently adopt the New Architecture while basic text input is broken
Description
CJK (Chinese, Japanese, Korean) IME input on iOS TextInput has been broken since the introduction of the New Architecture (Fabric). This affects hundreds of millions of potential users across East Asia — arguably the largest language group using IME-based input.
The issues include:
maxLengthblocks IME mid-composition — Korean syllable building (ㅎ→하→한) and Chinese Pinyin input are truncated prematurelyvalueprop interferes with composition — standard React patterns break CJK input entirelyThis is not a minor visual glitch — it makes TextInput unusable for CJK languages on Fabric. Users are forced to either disable the New Architecture entirely or build native workarounds.
Steps to reproduce
TextInputcomponent (controlled withvalue/onChangeTextor uncontrolled)React Native Version
0.76.5 ~ 0.82+ (all Fabric-enabled versions)
Affected Platforms
Areas
Output of
npx @react-native-community/cli info(Aggregated from multiple reporters — see #48497 and #55257 for individual environment details)
Stacktrace or Logs
Reproducer
Expo Snack: https://snack.expo.dev/@hujbvf/missing-underline-during-japanese-ime-composition-on-ios?platform=ios
Reproducer repo (from #48497): https://github.com/haruki-m/react-native-text-input-issue
Screenshots and Videos
Reproduction video — Japanese IME composition underline missing (from #55257)
screen.mov
Reproduction video — CJK composition broken (from #48497)
Simulator.Screen.Recording.-.iPhone.SE.3rd.generation.-.2025-01-05.at.22.41.05.mp4
Fix verification — CJK (Chinese, Japanese, Korean) working correctly after fix (from PR #56082)
ime.testing.video.mp4
Fix verification — English no regression (from PR #56082)
english.test.mp4
Impact
Existing Fix
PR #56082 provides a comprehensive fix addressing 7 distinct root causes in the Fabric TextInput implementation. It includes:
The PR was submitted on March 13, 2026, test videos were provided upon request on March 19, and it has been waiting for review since then — over 4 weeks with no further feedback.
Why This Needs Attention
References