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 TextField, Japanese conversion candidates not showing with physical Romaji keyboard input #3416

Open
paxbun opened this issue Jul 27, 2023 · 4 comments
Assignees
Labels
bug Something isn't working input Touch, mouse, keyboard input related ios text

Comments

@paxbun
Copy link
Contributor

paxbun commented Jul 27, 2023

Describe the bug

  • Conversion candidate list is not showing with physical Romaji keyboard input
  • When the return key is pressed, the conversion result is duplicated.
  • When the backspace key is pressed, the last character of the phrase to be converted is duplicated.

The latter two bugs are fixed by JetBrains/compose-multiplatform-core#699.

Affected platforms

  • iOS

Versions

  • Kotlin version*: 1.8.20
  • Compose Multiplatform version*: 1.4.1
  • OS version(s)* (required for Desktop and iOS issues): 16.5.1
  • OS architecture (x86 or arm64): arm64

To Reproduce

  1. Modify the App.kt of the Android & iOS template like the following.
MaterialTheme {
    Column {
        Text("OS: ${getPlatformName()}")
        var text by remember { mutableStateOf(TextFieldValue()) }
        TextField(text, onValueChange = { text = it })
    }
}
  1. Type "kousyou" with Romaji keyboard input.

    kousyou こうしょう can be converted into many sino-japanese words (e.g., 交渉 or 公証). You can see a list of 51 candidates here.
    kousyou and koushou are equivalent.

  2. Press the <space> or <down arrow> keys.

    This must show the full list of conversion candidates of kousyou こうしょう.

  3. Press the <return> key to end the conversion.

    You can see that 交渉 is duplicated.
    With Support singleLine and KeyboardAction on iOS compose-multiplatform-core#699, 交渉 is not duplicated.

  4. Type "kousho" (Not the u at the end!) with Romaji keyboard input.

    kousho corresponds to こうしょ.

  5. Press the <backspace> key.

    Since the text field contained こうしょ, the text field must contain こうし now, but you can see the text field contains こうしこうし.
    With Support singleLine and KeyboardAction on iOS compose-multiplatform-core#699, こうし is not duplicated.

Expected behavior
The candidate list must appear near the text field. For example, in the system-default Notes app:

RPReplay_Final1690426965.MP4

Screenshots
Reproduction:

RPReplay_Final1690426818.MP4

Reproduction with JetBrains/compose-multiplatform-core#699:

RPReplay_Final1690427408.MP4

Additional context
For those not used to the Japanese writing system, please refer to the Wikipedia page.

@paxbun paxbun added bug Something isn't working submitted labels Jul 27, 2023
@dima-avdeev-jb dima-avdeev-jb self-assigned this Jul 31, 2023
@dima-avdeev-jb dima-avdeev-jb added input Touch, mouse, keyboard input related text ios and removed submitted labels Jul 31, 2023
@dima-avdeev-jb
Copy link
Contributor

dima-avdeev-jb commented Jul 31, 2023

Thanks for such a greate description!

@okushnikov
Copy link

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

2 similar comments
@okushnikov
Copy link

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

@okushnikov
Copy link

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working input Touch, mouse, keyboard input related ios text
Projects
None yet
Development

No branches or pull requests

4 participants