flutter-stripe / flutter_stripe

Flutter SDK for Stripe.
https://pub.dev/packages/flutter_stripe
927 stars 508 forks source link

[BUG] Payment sheet crashes when hitting back/delete button in add card fields #1560

Closed dakman closed 8 months ago

dakman commented 8 months ago

Describe the bug If I hit back or delete while in card field or any field entire app crashes (stack trace below)

image

To Reproduce Present payment sheet.. add a new credit card .. hit the back button

Smartphone / tablet

Flutter 3.16.3 Android 34 flutter_stripe: ^9.6.0

Additional context

E/AndroidRuntime(11747): FATAL EXCEPTION: main E/AndroidRuntime(11747): Process: com.XXXXXXXXX, PID: 11747

E/AndroidRuntime(11747): java.lang.NoSuchMethodError: No virtual method getEmojiStart(Ljava/lang/CharSequence;I)I in class Landroidx/emoji2/text/EmojiCompat; or its super classes (declaration of 'androidx.emoji2.text.EmojiCompat' appears in /data/app/~~_3ppajLpKdmbTAGD3rLYFg==/com.XXXXXXXXX-vrry1_JS4IFBDtEVtXy4VA==/base.apk!classes6.dex) E/AndroidRuntime(11747): at androidx.compose.foundation.text.StringHelpers_androidKt.findPrecedingBreak(StringHelpers.android.kt:24) E/AndroidRuntime(11747): at androidx.compose.foundation.text.selection.BaseTextPreparedSelection.getPrecedingCharacterIndex(TextPreparedSelection.kt:150) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput$process$2$3.invoke(TextFieldKeyInput.kt:131) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput$process$2$3.invoke(TextFieldKeyInput.kt:129) E/AndroidRuntime(11747): at androidx.compose.foundation.text.selection.TextFieldPreparedSelection.deleteIfSelectedOr(TextPreparedSelection.kt:397) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput$process$2.invoke(TextFieldKeyInput.kt:129) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput$process$2.invoke(TextFieldKeyInput.kt:106) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput.commandExecutionContext(TextFieldKeyInput.kt:226) E/AndroidRuntime(11747): at androidx.compose.foundation.text.TextFieldKeyInput.process-ZmokQxo(TextFieldKeyInput.kt:106)

n3rdkid commented 8 months ago

Facing the same issue.

pranavo72bex commented 8 months ago

I am facing same issue. 😄

jonasbark commented 8 months ago

Thanks for reporting - fix will be released very soon

dakman commented 8 months ago

pheww glad to know im not the only one facing this.. i was wondering if it was a stripe android sdk issue. isn't flutter stripe a wrapper around their sdk (and customer/payment sheet) feature? or does flutter-stripe re-implement it differently?

update: ahh wow you fixed it already cool.. thanks @jonasbark !

remonh87 commented 8 months ago

fixed in version 10.0.0

SoyahDev commented 4 months ago

flutter_stripe: ^10.0.0

Console Stack Trace :

Because every version of flutter_localizations from sdk depends on meta 1.9.1 and stripe_platform_interface >=9.6.0 depends on meta ^1.10.0, flutter_localizations from sdk is incompatible with stripe_platform_interface >=9.6.0. Because flutter_stripe >=10.1.0 depends on stripe_platform_interface ^10.1.0 and flutter_stripe >=10.0.0 <10.1.0 depends on stripe_platform_interface ^10.0.0, flutter_stripe >=10.0.0 requires stripe_platform_interface ^10.0.0. Thus, flutter_localizations from sdk is incompatible with flutter_stripe >=10.0.0. So, because (app-name) depends on both flutter_localizations from sdk and flutter_stripe ^10.0.0, version solving failed.

You can try the following suggestion to make the pubspec resolve:

Consider downgrading your constraint on flutter_stripe: flutter pub add flutter_stripe:'^9.5.0+1'.

downgrading to 9.5.0+1 having the same issue when clicking on the pink return button ( app crashes)

tried using dependency_overrides: meta: ^1.10.0 app build failing is there any solution to this issue please ?

Update :

Upgrading flutter version (last thing i wanted to do) fixed the issue