stripe / stripe-terminal-ios

Stripe Terminal iOS SDK
https://stripe.com/docs/terminal/sdk/ios
Other
104 stars 65 forks source link

Tap to Pay: Intermittent discoverReaders Command Busy Error in SDK Version 2.32.2 #289

Closed AnshulMindbody closed 8 months ago

AnshulMindbody commented 9 months ago

Greetings,

A few of our customers have reported encountering an intermittent error while using our application, specifically when attempting to discover readers using SDK version 2.32.2. The error message is as follows: 'Could not execute discoverReaders because the SDK is busy with another command: discoverReaders.'

bric-stripe commented 8 months ago

Not aware of anything that would increase the likelihood of that error in 2.23.2. That error implies a previously running discoverReaders call has not fully completed. The completion block being called from the previous run is the source of truth before another command can be run (if it was canceled the canelable's completion may run before another command can be sent).

Can you confirm that's fully completed? Do you have a serial number and rough timing of a reader that hit this error?

Also wanted to note that this is an error path that has been improved in 3.x where the commands will now queue up instead of erroring with the busy error which should reduce the burden on keeping track of the state of the SDK externally.

bric-stripe commented 8 months ago

Closing out this issue but re-open if still have issues after check the things mentioned above or have more details/repro steps.