Skip to content

[macOS] IME fails to react to non-text keys #91859

Closed

Description

@dkwingsmt

During an IME composition, pressing backspace affects the precompose text, but not the IME's candidates.

1

Target app: a text field

Step:

  1. Use macOS's Chinese Pinyin IME
  2. Press a few keys (in the GIF I pressed a few W). It looks correct for now.
  3. Press backspace.
  • Expected: The candidate list is shortened accordingly.
  • Actual: The candidate list does not change.

Further proof:

  1. Press a few letter keys again.
  • Actual: The new keys are appended to the candidate list before backspace presses.
  1. Select a candidate using digit key 1.
  • Actual: The output text is the unshortened candidate.

Both showing that the IME did not receive the backspace key at all.

Version:

Details
[✓] Flutter (Channel master, 2.6.0-12.0.pre.355, on macOS 11.6 20G165 darwin-x64, locale en)
    • Flutter version 2.6.0-12.0.pre.355 at /Users/tongmu/dev/flutter
    • Upstream repository [email protected]:flutter/flutter.git
    • Framework revision ccc8261495 (30 minutes ago), 2021-10-14 15:33:05 -0500
    • Engine revision 8a18794648
    • Dart version 2.15.0 (build 2.15.0-217.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/tongmu/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 13.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
! CocoaPods 1.9.1 out of date (1.10.0 is recommended).
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 upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 3.3)
• 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 1.8.0_152-release-1248-b01)

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

[✓] Connected device (2 available)
• macOS (desktop) • macos • darwin-x64 • macOS 11.6 20G165 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.81

! Doctor found issues in 2 categories.

Activity

  1. dkwingsmt commented on Oct 14, 2021

    @dkwingsmt
    ContributorAuthor

    We might want to test it on other platforms.

    cc @cbracken

  2. added
    a: text inputEntering text in a text field or keyboard related problems
    platform-macosBuilding on or for macOS specifically
    on Oct 14, 2021
  3. dkwingsmt commented on Oct 14, 2021

    @dkwingsmt
    ContributorAuthor

    Update: It does not react to left/right keys either (try pressing left during composing then insert a different key.) In fact, doing this for multiple times results in the follow assertion error, crashing the entire keyboard system:

    2021-10-14 16:56:25.270 testapp[15277:1027028] *** Assertion failure in -[FlutterEmbedderKeyResponder handleUpEvent:callback:], ../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponder.mm:677
    
  4. changed the title [-][macOS] IME fails to react to backspace[/-] [+][macOS] IME fails to react to non-text keys[/+] on Oct 15, 2021
  5. cbracken commented on Oct 18, 2021

    @cbracken
    Member

    /cc @justinmc I believe you have an existing bug for navigating the candidates list. (#85328) I'm also not sure this isn't a regression -- at least on macOS. I'd have to do some bisecting; not labelling as such for now since I'm not sure.

  6. added
    P1High-priority issues at the top of the work list
    on Oct 18, 2021
  7. cbracken commented on Oct 19, 2021

    @cbracken
    Member

    I'm going to test this out momentarily to see if I can determine whether this is a desktop stable blocker. I'm making the assumption now that it is.

  8. cbracken commented on Oct 19, 2021

    @cbracken
    Member

    Marking as regression since backspace in the composing region used to work, other than the known previous regression that clearing out the final character in the composing region would fail, documented in #78061.

  9. justinmc commented on Oct 19, 2021

    @justinmc
    Contributor

    Assigning myself while I investigate this.

    Related: #92060
    Maybe related: #85328

  10. self-assigned this
    on Oct 19, 2021
  11. justinmc commented on Oct 19, 2021

    @justinmc
    Contributor

    I confirmed that this is not happening on Windows, but I filed a more subtle bug I noticed there, unrelated to this one: #92132

  12. justinmc commented on Oct 21, 2021

    @justinmc
    Contributor

    This will probably require solving #30725 to solve this the right way. See discussion over there.

  13. justinmc commented on Oct 21, 2021

    @justinmc
    Contributor

    I believe this is also a problem on iOS when a physical keyboard is used. See #30725 (comment).

  14. justinmc commented on Oct 26, 2021

    @justinmc
    Contributor

    I'm going to close this as a duplicate. The underlying problem seems to be the same as #78061 and #85328. One of the solutions outlined here will need to be implemented to fix this.

  15. github-actions commented on Nov 10, 2021

    @github-actions

    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.

  16. locked as resolved and limited conversation to collaborators on Nov 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsc: regressionIt was better in the past than it is nowplatform-iosiOS applications specificallyplatform-macosBuilding on or for macOS specifically

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions