-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Normal
-
Affects Version/s: 8.5.2.1
-
Component/s: Components
-
Security Level: Jimmy
-
Environment:
Tested with Windows 10 Pinyin input method "Chinese (Traditional, Taiwan) Microsoft Bopomofo"
Also reported to happen using 倉頡/ 速成 on windows 7/10 in chrome
Also encountered on MacOSChrome -> creates duplicate characters
MS edge -> autocompletes to eagerly while still inputting charactersFirefox/IE11 -> work as expected (slightly different but produce correct results)
Safari: not yet tested
Tested with Windows 10 Pinyin input method "Chinese (Traditional, Taiwan) Microsoft Bopomofo" Also reported to happen using 倉頡/ 速成 on windows 7/10 in chrome Also encountered on MacOS Chrome -> creates duplicate characters MS edge -> autocompletes to eagerly while still inputting characters Firefox/IE11 -> work as expected (slightly different but produce correct results) Safari: not yet tested
-
None
Steps to Reproduce
<combobox autodrop="true" autocomplete="true">
<comboitem label="牛肉麵"/>
<comboitem label="牛肉湯"/>
<comboitem label="牛肉湯麵"/>
<comboitem label="德強苑"/>
</combobox>
e.g. using pinyin input type
niu[space]rou
Current Result
Chome: creates duplicate characters (trying to edit the whole phrase later produces more duplicates)
![]()
Edge: the autocompletion appends the first matched comboitem too eagerly, messing up the current cursor position (not selected so that subsequent characters are typed in the middle of the word)
![]()
FF: appends the autocompleted value after the whole phrase is committed ... without interfering while typing (expected)
![]()
IE11: autocompletion happens slightly earlier after each character but not interfering with the input method (the autocompleted chars remain seelcted allowing override by additional chars)
![]()
Expected Result
FF or IE behavior (only keep the actually typed characters, no duplicates, auto-appended characters need to be overridden when continuing to type)
Debug Info
when 倉頡/ 速成 is used :
"德" is being inputted. The box will fill 德強苑
the input sequence for "德" is 竹人十田心
resulting in duplicates as well:
![]()
Root Cause
It seems like the key/input event sequences vary in browsers giving those inconsistent and erroneous results.
Workaround
- * 8.5.0+ ime-combobox-patch-850.zul

the workaround uses the browserevents compositionstart/[compositionend|https://developer.mozilla.org/en-US/docs/Web/Events/compositionend] to suppress completion during special character input