Any chance you can record a video? We are hunting for this bug, but we have no idea where it is.

Reply to this note

Please Login to reply.

Discussion

https://v.nostr.build/PLMZ.mp4

This is actually version 0.83.9 but i had the same issue on 0.83.8.

Running on GrapheneOS

```

type: crash

osVersion: google/barbet/barbet:14/UQ1A.240105.002/2024012600:user/release-keys

package: com.vitorpamplona.amethyst:350

process: com.vitorpamplona.amethyst

processUptime: 22003 + 1519 ms

installer: dev.imranr.obtainium

java.lang.IllegalArgumentException: offset(15) is out of bounds [0, 15)

at androidx.compose.ui.text.MultiParagraph.requireIndexInRange(Unknown Source:51)

at androidx.compose.ui.text.MultiParagraph.fillBoundingBoxes-8ffj60Q(Unknown Source:4)

at androidx.compose.ui.text.input.CursorAnchorInfoBuilder_androidKt.addCharacterBounds(Unknown Source:31)

at androidx.compose.ui.text.input.CursorAnchorInfoBuilder_androidKt.build(Unknown Source:93)

at androidx.compose.ui.text.input.CursorAnchorInfoController.updateCursorAnchorInfo(Unknown Source:73)

at androidx.compose.ui.text.input.CursorAnchorInfoController.updateTextLayoutResult(Unknown Source:20)

at androidx.compose.ui.text.input.TextInputServiceAndroid.updateTextLayoutResult(Unknown Source:8)

at androidx.compose.ui.text.input.TextInputSession.updateTextLayoutResult(Unknown Source:14)

at androidx.compose.foundation.text.TextFieldDelegate$Companion.updateTextLayoutResult$foundation_release(Unknown Source:40)

at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$onPositionedModifier$1.invoke(SourceFile:20)

at androidx.compose.foundation.text.CoreTextFieldKt$CoreTextField$onPositionedModifier$1.invoke(SourceFile:1)

at androidx.compose.ui.layout.OnGloballyPositionedNode.onGloballyPositioned(Unknown Source:2)

at androidx.compose.ui.node.LayoutNode.dispatchOnPositionedCallbacks$ui_release(Unknown Source:82)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:0)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatchHierarchy(Unknown Source:25)

at androidx.compose.ui.node.OnPositionedDispatcher.dispatch(Unknown Source:74)

at androidx.compose.ui.node.MeasureAndLayoutDelegate.dispatchOnPositionedCallbacks(Unknown Source:11)

at androidx.compose.ui.node.MeasureAndLayoutDelegate.dispatchOnPositionedCallbacks$default(Unknown Source:5)

at androidx.compose.ui.platform.AndroidComposeView.measureAndLayout(Unknown Source:45)

at androidx.compose.ui.node.Owner.measureAndLayout$default(Unknown Source:7)

at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(Unknown Source:16)

at android.view.View.draw(View.java:23903)

at android.view.View.updateDisplayListIfDirty(View.java:22767)

at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4543)

at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4516)

at android.view.View.updateDisplayListIfDirty(View.java:22723)

at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4543)

at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4516)

at android.view.View.updateDisplayListIfDirty(View.java:22723)

at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4543)

at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4516)

at android.view.View.updateDisplayListIfDirty(View.java:22723)

at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4543)

at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4516)

at android.view.View.updateDisplayListIfDirty(View.java:22723)

at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:694)

at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:700)

at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:798)

at android.view.ViewRootImpl.draw(ViewRootImpl.java:5144)

at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4835)

at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4011)

at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2650)

at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9526)

at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1343)

at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1352)

at android.view.Choreographer.doCallbacks(Choreographer.java:952)

at android.view.Choreographer.doFrame(Choreographer.java:882)

at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1326)

at android.os.Handler.handleCallback(Handler.java:958)

at android.os.Handler.dispatchMessage(Handler.java:99)

at android.os.Looper.loopOnce(Looper.java:205)

at android.os.Looper.loop(Looper.java:294)

at android.app.ActivityThread.main(ActivityThread.java:8279)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)

at com.android.internal.os.ExecInit.main(ExecInit.java:49)

at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)

at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)

```

Thank you! So it's immediately after you select. That gives me a good idea where to look. It also seems like sometimes it works, right? That weird.

Its seems it doesn't crash when I @ myself

Same behavior for me. I would find the profile and tap it. Possibly that tap handler?

Actually I can @ more than just my own profile but I don't know why some accounts have no issue and others don't.

Autocorrect is f*ing me in the a**

Can you check if this is a keyboard issue? Does it happen if you change to another keyboard?

0.83.8 had several dependency updates. It may be that one of them is breaking on some keyboards :(

Also, I placed the report here: https://github.com/vitorpamplona/amethyst/issues/757

Yes! Using a different keyboard seems to stop it crashing, for whatever the default keyboard seems to be the issue.

I used anysoft keyboard and it wasn't crashing.

The default keyboard is bad, even worse on some apps with with the strange backspace bahaviour 🤣

I've used G Board its the best but goes against the ethos, Open Board is nice but no longer maintained, now settled on FlorisBoard.

Just have to get comfortable with typos (no predictive text)

I think many of these keyboard issues are related to the autocorrect mode of the default keyboard. I think somebody was able to disable the autocorrect and it also started working.

nostr:nprofile1qy2hwumn8ghj7mn0wd68ytn00p68ytnyv4mz7qgmwaehxw309aex2mrp0yhxummnw3e8qmr9vfejucm0d5hsz9thwden5te0wfjkccte9ehx7um5wghxyee0qqsr5hx0nu0va5508g6dk9mq2nchurlz2jf2x0tnfdxqfq4qngn4ajsh4jmln do you want do a post on the keyboards that you have tried? I would love to have it so that I can share with GrapheneOS folks that are having the same issue. I think most people have never thought about changing the keyboard and just bash Graphene/Amethyst for the instability.

Yep, that is a well known issue in the default keyboard of Graphene when using with Jetpack Compose apps.

It's a jetpack issue