-
Notifications
You must be signed in to change notification settings - Fork 29.5k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: desktopRunning on desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsc: regressionIt was better in the past than it is nowIt was better in the past than it is nowplatform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specifically
Description
This appears to be triggered by the exact same root cause as #88645 for Windows which was triggered by framework PR #90211.
On Windows, this was fixed by not sending an update on the text input channel on commit events. See flutter/engine#30805 for the fix PR for that OS.
Repro steps for Korean:
- Press ㅂ. ㅂ is emitted in the text field.
- Press ㅏ. 바 is emitted in the text field.
- Press ㄴ. 반 is emitted in the text field.
- Press ㅏ. At this point, the current character being composed (반) cannot be modified in a meaningful way, and the IME determines that the user is typing 바 followed by 나. Two messages are emitted to the framework, one immediately after the other. First 바, then 나. The Text field now contains 바나 and the composing range consists of the second character (나).
- Press ㄴ. 난 is emitted in the text field, overwriting the entire contents.
Expected behaviour:
- Press ㅂ. Text field contains ㅂ.
- Press ㅏ. Text field contains 바.
- Press ㄴ. Text field contains 반.
- Press ㅏ. Text field contains 바나.
- Press ㄴ. Text field contains 바난 .
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: desktopRunning on desktopRunning on desktopa: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsc: regressionIt was better in the past than it is nowIt was better in the past than it is nowplatform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specifically