Skip to content

[iOS] Japanese text gets replaced when typing after deleting a character when using physical keyboard #91365

@hatano0x06

Description

@hatano0x06

Steps to Reproduce

I don't have a verification environment at hand, so this is the content of an inquiry from a user
This can be a problem with excessive deletion, even though the delete button is only pressed once

It happened in both versions 2.5.2 and 2.6.0-5.2.pre.

Here's a video I got from a user.
The 5~7 seconds is where the problem is.
https://user-images.githubusercontent.com/7422251/136192069-3fcdfa1b-28c6-4747-a034-189580e0cade.mp4

Minimal sample code

class SamplePage extends StatefulWidget {

  SamplePage(): super();

  @override
  SamplePageState createState() => SamplePageState();
}

class SamplePageState extends State<SamplePage> with WidgetsBindingObserver {

  @override
  void initState(){
    super.initState();
  }

  Widget build(BuildContext context){
    return Container(
      padding: EdgeInsets.only(top: 100, left: 10, right: 10),
      child: TextField(),
    );
  }
}

  1. Run flutter run.
  2. input japanese word. ( sample. "ご覧に" is good. In english keyboard input "goranni" )
  3. press delete Button ( sentense will be "ご覧" )
  4. input "に". In english keyboard input "ni".

Expected results:
the word will be "ご覧に"

Actual results:
the word will be "に"

Details

flutter doctor -v

[✓] Flutter (Channel stable, 2.5.2, on Mac OS X 10.15.7 19H1419 darwin-x64, locale ja-JP)
    • Flutter version 2.5.2 at /Users/user/Desktop/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3595343e20 (6 days ago), 2021-09-30 12:58:18 -0700
    • Engine revision 6ac856380f
    • Dart version 2.14.3
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/user/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install “cmdline-tools;latest”`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.11.0
[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.61

Metadata

Metadata

Labels

P1High-priority issues at the top of the work lista: internationalizationSupporting other languages or locales. (aka i18n)a: text inputEntering text in a text field or keyboard related problemsengineflutter/engine related. See also e: labels.found in release: 2.5Found to occur in 2.5found in release: 2.6Found to occur in 2.6has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions