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

TextField's text is duplicated on iOS Japanese Keyboard after v1.15.21 #52718

Closed
mono0926 opened this issue Mar 17, 2020 · 4 comments · Fixed by #52752
Closed

TextField's text is duplicated on iOS Japanese Keyboard after v1.15.21 #52718

mono0926 opened this issue Mar 17, 2020 · 4 comments · Fixed by #52752
Labels
a: internationalization Supporting other languages or locales. (aka i18n) a: text input Entering text in a text field or keyboard related problems c: regression It was better in the past than it is now engine flutter/engine repository. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. platform-ios iOS applications specifically

Comments

@mono0926
Copy link
Contributor

mono0926 commented Mar 17, 2020

TextField's text is duplicated on iOS Japanese Keyboard after v1.15.21.

On Android, there are no problems.
And before v1.15.20, there are no problems on on iOS Japanese Keyboard.

Steps to Reproduce

Run this on iOS simulator or device(I confirmed it by iPhone 11 Pro simulator).

import 'package:flutter/material.dart';

void main() {
  runApp(const App());
}

class App extends StatelessWidget {
  const App({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextField(),
      ),
    );
  }
}
  1. Type 「あ」
  2. Type 「か」
  3. Type 「さ」

Expected results:

「あかさ」should be shown and 「あかさ」is selected until return key typed.

2020-03-17_14-00-21 (1)

Actual results:

「ああかあかあかさあかさ」was shown and text wasn't selected(no underline).

2020-03-17_13-55-44 (1)

Logs
(file:///Users/mono/Library/Developer/CoreSimulator/Devices/5511C9A4-2021-4253-9E27-9D67179EB8A1/data/Containers/Data/Application/C86D0DED-FB0C-413D-A376-3F53F61D5830/tmp/flutter_appgeLPMa/
flutter_app/)
[   +1 ms] Updating assets
[  +64 ms] Syncing files to device iPhone 11 Pro...
[   +2 ms] Scanning asset files
[   +2 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +1 ms] <- recompile package:flutterapp/main.dart d4e6648a-5335-4c00-938f-b26a89031e23
[        ] <- d4e6648a-5335-4c00-938f-b26a89031e23
[  +66 ms] Updating files
[   +3 ms] [DEVICE LOG] 2020-03-17 13:52:55.589857+0900  localhost Runner[61373]: (FrontBoardServices) [com.apple.BackBoard:Display] [FBSDisplaySource 1-1] silently connecting
<FBSDisplayConfiguration: 0x6000006d5340; Main; mode: "375x812@3x 60Hz p3 SDR">
[        ] [DEVICE LOG] 2020-03-17 13:52:55.589932+0900  localhost Runner[61373]: (FrontBoardServices) [com.apple.BackBoard:Display] [FBSDisplaySource 1-1] initialized
<FBSDisplayConfiguration: 0x6000006d5340; Main; mode: "375x812@3x 60Hz p3 SDR">
[  +66 ms] DevFS: Sync finished
[        ] Syncing files to device iPhone 11 Pro... (completed in 143ms)
[        ] Synced 0.9MB.
[   +1 ms] Sending to VM service: _flutter.listViews({})
[   +1 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0x7fde3e008e20, isolate: {type: @Isolate, fixedId: true, id: isolates/436468375844895, name:
main.dart$main-436468375844895, number: 436468375844895}}]}
[        ] <- accept
[        ] Connected to _flutterView/0x7fde3e008e20.
[   +1 ms] Flutter run key commands.
[   +2 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
❯ flutterm analyze
Analyzing flutter_app...                                                
No issues found! (ran in 6.8s)
[✓] Flutter (Channel master, v1.15.23-pre.11, on Mac OS X 10.15.3 19D76, locale en-JP)
    • Flutter version 1.15.23-pre.11 at /Users/mono/Git/flutterm
    • Framework revision 93a6057c42 (6 hours ago), 2020-03-16 16:02:22 -0700
    • Engine revision 5a07488251
    • Dart version 2.8.0 (build 2.8.0-dev.14.0 d7a7854a5e)

 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /Users/mono/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] Android Studio
    • Android Studio at /Applications/Android Studio 4.0 Preview.app/Contents
    • Flutter plugin version 40.2.4
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] IntelliJ IDEA Community Edition (version 2019.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 37.0.3
    • Dart plugin version 191.7830

[✓] VS Code (version 1.43.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.8.1

[✓] Connected device (8 available)
    • PH 1                      • PM1LHMA832902176                     • android-arm64  • Android 10 (API 29)
    • Android SDK built for x86 • emulator-5554                        • android-x86    • Android 10 (API 29) (emulator)
    • monoyagon                 • 00008027-000A08140CE8002E            • ios            • iOS 13.3.1
    • iPhone 11 Pro             • 5511C9A4-2021-4253-9E27-9D67179EB8A1 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    • iPad Pro (11-inch)        • 124F9757-2E29-4304-A823-D0924367154E • ios            • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    • macOS                     • macOS                                • darwin-x64     • Mac OS X 10.15.3 19D76
    • Chrome                    • chrome                               • web-javascript • Google Chrome 80.0.3987.132
    • Web Server                • web-server                           • web-javascript • Flutter Tools

• No issues found!

I examined this a little

args is wrong at this point:

_currentConnection._client.updateEditingValue(TextEditingValue.fromJSON(args[1] as Map<String, dynamic>));
, so I suspect that this is https://github.com/flutter/engine bug.

image

@dnfield dnfield added a: text input Entering text in a text field or keyboard related problems engine flutter/engine repository. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. c: regression It was better in the past than it is now ⚠ TODAY labels Mar 17, 2020
@dnfield
Copy link
Contributor

dnfield commented Mar 17, 2020

Tentatively marking this as TODAY.

/cc @GaryQian

@dnfield dnfield added a: internationalization Supporting other languages or locales. (aka i18n) platform-ios iOS applications specifically labels Mar 17, 2020
@dnfield
Copy link
Contributor

dnfield commented Mar 17, 2020

Verified this locally. Verified that the linked engine patch did not cause this. It's much more likely code in the framework around text input handling.

@mono0926
Copy link
Contributor Author

Thanks for the very quick fix 🙏

@lock
Copy link

lock bot commented Apr 2, 2020

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@lock lock bot locked and limited conversation to collaborators Apr 2, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: internationalization Supporting other languages or locales. (aka i18n) a: text input Entering text in a text field or keyboard related problems c: regression It was better in the past than it is now engine flutter/engine repository. See also e: labels. framework flutter/packages/flutter repository. See also f: labels. platform-ios iOS applications specifically
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants