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

[iOS][iOS 17] The first candidate in IME is not displayed on iPad + iOS 17 + hardware keyboard #132548

Closed
2 tasks done
hellohuanlin opened this issue Aug 15, 2023 · 5 comments · Fixed by flutter/engine#46373
Closed
2 tasks done
Assignees
Labels
a: internationalization Supporting other languages or locales. (aka i18n) a: text input Entering text in a text field or keyboard related problems e: OS-version specific Affects only some versions of the relevant operating system found in release: 3.13 Found to occur in 3.13 found in release: 3.14 Found to occur in 3.14 has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list platform-ios iOS applications specifically r: fixed Issue is closed as already fixed in a newer version team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team

Comments

@hellohuanlin
Copy link
Contributor

hellohuanlin commented Aug 15, 2023

Is there an existing issue for this?

Steps to reproduce

  1. Create an empty project with a text field (or just use flutter/dev/integration_tests/ios_platform_view_tests
  2. Connect hardware keyboard on device (or CMD+K on simulator)
  3. Change input to IME language (e.g. Chinese)
  4. Type and observe the issue

Verified that this only happens on iPad with iOS 17.

Expected results

Shows all candidates when typing IME

Actual results

The first candidate is not shown

Code sample

flutter/dev/integration_tests/ios_platform_view_tests

Screenshots or Video

Screenshot 2023-08-14 at 10 48 53 PM

Logs

NA

Flutter Doctor output

flutter doctor -v
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel main, 3.14.0-4.0.pre.28, on macOS 13.5 22G74 darwin-arm64, locale en)
    ! Unknown upstream repository.
      Reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ 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 15.0)
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on
        the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.2)
[✓] VS Code (version 1.80.2)
[✓] Connected device (4 available)
[✓] Network resources
@hellohuanlin hellohuanlin added the platform-ios iOS applications specifically label Aug 15, 2023
@hellohuanlin hellohuanlin changed the title [iOS][iOS 17] The first candidate in IME is not displayed on iPad on iOS 17 [iOS][iOS 17] The first candidate in IME is not displayed on iPad + iOS 17 + hardware keyboard Aug 16, 2023
@WithToken
Copy link

WithToken commented Aug 22, 2023

@justinmc @LongCatIsLooong @danagbemava-nc Hi, Is there any progress? We had the same problem.

@danagbemava-nc danagbemava-nc added the in triage Presently being triaged by the triage team label Aug 25, 2023
@danagbemava-nc
Copy link
Member

Labeling for further investigation based on the report shared above as I cannot verify this locally.

@danagbemava-nc danagbemava-nc added a: text input Entering text in a text field or keyboard related problems a: tablet Tablets and landscape phones e: OS-version specific Affects only some versions of the relevant operating system team-ios Owned by iOS platform team a: internationalization Supporting other languages or locales. (aka i18n) and removed in triage Presently being triaged by the triage team labels Aug 25, 2023
@stuartmorgan stuartmorgan added P2 Important issues not at the top of the work list triaged-ios Triaged by iOS platform team labels Aug 28, 2023
@huycozy
Copy link
Member

huycozy commented Sep 5, 2023

I can reproduce this issue on the latest stable and master channels. Checking this on iPhone 14 Pro, iOS 17.0 (emulator).

Step to reproduce

  • Run the minimal sample code with simple TextField() widget on emulator
  • Type nihao on host machine keyboard and check the candidate list is missing the 1st word.

Screenshot 2023-09-05 at 16 05 53

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.13.2, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.13.2 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ff5b5b5fa6 (12 days ago), 2023-08-24 08:12:28 -0500
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 116.0.5845.140

[✓] Network resources
    • All expected network resources are available.

• No issues found!
[!] Flutter (Channel master, 3.14.0-14.0.pre.93, on macOS 13.5 22G74 darwin-x64, locale en-VN)
    • Flutter version 3.14.0-14.0.pre.93 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ef9befc9da (33 hours ago), 2023-09-03 11:23:20 -0700
    • Engine revision fbc6f4a540
    • Dart version 3.2.0 (build 3.2.0-131.0.dev)
    • DevTools version 2.27.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 32.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.5 22G74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 116.0.5845.140

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Removing a: tablet label based on findings here.

@huycozy huycozy added has reproducible steps The issue has been confirmed reproducible and is ready to work on found in release: 3.13 Found to occur in 3.13 found in release: 3.14 Found to occur in 3.14 and removed a: tablet Tablets and landscape phones labels Sep 5, 2023
@LongCatIsLooong
Copy link
Contributor

This is because FlutterTextInputView responds to the insertionPoint selector and it returns .clearColor. From the code comment that's for hiding the system ui during scribble. I'll see if we can work around that on iOS17 with the new text selection highlight interactions.`

Copy link

github-actions bot commented Nov 1, 2023

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 1, 2023
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 e: OS-version specific Affects only some versions of the relevant operating system found in release: 3.13 Found to occur in 3.13 found in release: 3.14 Found to occur in 3.14 has reproducible steps The issue has been confirmed reproducible and is ready to work on P2 Important issues not at the top of the work list platform-ios iOS applications specifically r: fixed Issue is closed as already fixed in a newer version team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants