frames-android icon indicating copy to clipboard operation
frames-android copied to clipboard

App crashes when entering card number and expiry date

Open michaelihuoma01 opened this issue 7 months ago • 0 comments

Describe the bug The app crashes when:

  • I input more than 4 digits in the card number field (just after the cardNumber separator which is a space)

  • I input more than 1 digit in the expiry date field (just after the '/' separator between the month and year)

Below are the versions i am using: com.github.checkout:frames-android:4.2.2 androidx.compose.ui:ui:1.6.8 androidx.compose.foundation:foundation:1.6.8

To Reproduce Steps to reproduce the behavior:

  1. Add the checkout and compose library version above
  2. Implement the Checkout frames sdk using a paymentFormMediator
  3. Run the app
  4. Try inputing the card number or the expiry date
  5. The app crashes

Expected behavior I want to be able to enter the card number and expiry date without experiencing any crashes

Smartphone (please complete the following information):

  • Device: Samsung Galaxy A05s
  • OS: Android 14

My Error log:

java.lang.IllegalArgumentException: offset(5) is out of bounds [0, 2]
                                                                                                            at androidx.compose.ui.text.MultiParagraph.requireIndexInRangeInclusiveEnd(MultiParagraph.kt:837)
                                                                                                    	at androidx.compose.ui.text.MultiParagraph.getCursorRect(MultiParagraph.kt:686)
                                                                                                    	at androidx.compose.ui.text.TextLayoutResult.getCursorRect(TextLayoutResult.kt:547)
                                                                                                    	at androidx.compose.foundation.text.TextFieldCursorKt$cursor$1$2.invoke(TextFieldCursor.kt:64)
                                                                                                    	at androidx.compose.foundation.text.TextFieldCursorKt$cursor$1$2.invoke(TextFieldCursor.kt:58)
                                                                                                    	at androidx.compose.ui.draw.DrawWithContentModifier.draw(DrawModifier.kt:309)
                                                                                                    	at androidx.compose.ui.node.LayoutNodeDrawScope.drawDirect-x_KDEd0$ui_release(LayoutNodeDrawScope.kt:105)
                                                                                                    	at androidx.compose.ui.node.LayoutNodeDrawScope.draw-x_KDEd0$ui_release(LayoutNodeDrawScope.kt:86)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:364)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.access$drawContainedDrawModifiers(NodeCoordinator.kt:54)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator$drawBlock$1$1.invoke(NodeCoordinator.kt:383)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator$drawBlock$1$1.invoke(NodeCoordinator.kt:382)
                                                                                                    	at androidx.compose.runtime.snapshots.Snapshot$Companion.observe(Snapshot.kt:2303)
                                                                                                    	at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(SnapshotStateObserver.kt:500)
                                                                                                    	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:256)
                                                                                                    	at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(OwnerSnapshotObserver.kt:133)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.kt:382)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator$drawBlock$1.invoke(NodeCoordinator.kt:380)
                                                                                                    	at androidx.compose.ui.platform.RenderNodeLayer.drawLayer(RenderNodeLayer.android.kt:311)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:348)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutNode.draw$ui_release(LayoutNode.kt:926)
                                                                                                    	at androidx.compose.ui.node.InnerNodeCoordinator.performDraw(InnerNodeCoordinator.kt:174)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.draw(NodeCoordinator.kt:353)
                                                                                                    	at androidx.compose.ui.node.LayoutModifierNodeCoordinator.performDraw(LayoutModifierNodeCoordinator.kt:176)
                                                                                                    	at androidx.compose.ui.node.NodeCoordinator.drawContainedDrawModifiers(NodeCoordinator.kt:361)


michaelihuoma01 avatar Jul 18 '24 04:07 michaelihuoma01