Closed mikado2005 closed 11 months ago
@mikado2005 thanks for the report and sample project to reproduce! we learned about this regression last week and have a fix rolling out today. 2.23.1
should be published in the next few hours that will include the fix for this.
ran the provided sample app against the pre-release 2.23.1 and confirmed it no longer gets stuck, thanks again for that.
fetchConnectionToken succeeded pst_test_XYZ
Found a WisePad reader: XYZ
Connecting to bluetooth reader UNKNOWN
ERROR! connectBluetoothReader FAILED error: Error Domain=com.stripe-terminal Code=9020 "The BBPOS WisePad 3 reader is not supported in the United States (US) ...
Cancelling discovery mode
APP WILL HANG HERE
discoveryCancellable.cancel -- SUCCESS
Terminal connection status = NOT CONNECTED
discoverReaders -- SUCCESS
Terminal connection status = NOT CONNECTED
Discovering bluetooth readers
Bluetooth discovery mode initiated
closing this one out as it should be fixed in 2.23.1+ (just missed closing the issue).
Summary
I generated a reader connection error by attempting to connect a BBPOS WisePad3 to an American account and location. It may be that generating any sort of connection error will also reproduce the issue. After that error occurs, any calls to the discovery Cancellable object hangs, by never calling its completion block. The completion block of discoverReaders is also never called.
Code to reproduce
Small sample project is here: https://planetbeagle.com/stripe/ConnectionError.zip
iOS version
iOS 16.6
Installation method
Integrated into app using CocoaPods.
SDK version
StripeTerminal (2.23.0)
Other information