You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When using the builtin iOS speech-to-text feature to enter text into a TextField the app crashes with a stack trace pointing to Compose Multiplatform.
Affected platforms
iOS
Versions
Kotlin version*: 1.9.22
Compose Multiplatform version*: 1.6.0
OS version(s)*: confirmed on iOS 15.8 and 17.3.1
OS architecture: arm64
Device: confirmed on iPhone 7 (iOS 15.8) and iPhone XR (iOS 17.3.1)
To Reproduce
Run an iOS app with a Compose Multiplatform TextField
Tap the TextField to bring up the keyboard
Tap the microphone icon to start speech-to-text
Say something and wait for speech-to-text recognition
App crashes
Expected behavior
No crash, and speech-to-text recognized text entered into TextField.
Additional context
It seems speech-to-text did work at some point: #2984
We have two similar but slightly different stack traces from production builds. The first one looks like this:
## Proposed Changes
Use iOS native implementation of `UITextInputTokenizerProtocol`
represented by the class `UITextInputStringTokenizer`.
The PR reverts changes of
#808 ,
however due to `textInput = this` parameter, the Fast Delete feature
keeps working as intended.
Fixes: JetBrains/compose-multiplatform#4443
ASalavei
added a commit
to JetBrains/compose-multiplatform-core
that referenced
this issue
Mar 12, 2024
## Proposed Changes
Use iOS native implementation of `UITextInputTokenizerProtocol`
represented by the class `UITextInputStringTokenizer`.
The PR reverts changes of
#808 ,
however due to `textInput = this` parameter, the Fast Delete feature
keeps working as intended.
Fixes: JetBrains/compose-multiplatform#4443
Describe the bug
When using the builtin iOS speech-to-text feature to enter text into a TextField the app crashes with a stack trace pointing to Compose Multiplatform.
Affected platforms
Versions
To Reproduce
Expected behavior
No crash, and speech-to-text recognized text entered into TextField.
Additional context
It seems speech-to-text did work at some point: #2984
We have two similar but slightly different stack traces from production builds. The first one looks like this:
The second kind is almost identical, but the
UIDictationUtilities
method that calls into Compose isselectionStartInfoWithBlock
instead.In a debug build, we couldn't tell what UIKit method calls into Compose, but we found that a
kotlin.NotImplementedError
is thrown here:https://github.com/JetBrains/compose-multiplatform-core/blob/99c5d1d3bd7eba7dbebcd42af0897f8862291822/compose/ui/ui/src/uikitMain/kotlin/androidx/compose/ui/platform/UIKitTextInputService.uikit.kt#L614
Is there any way for us to work around this issue, or is speech-to-text broken until Compose Multiplatform implements these TODOs?
The text was updated successfully, but these errors were encountered: