Describe the bug
Periodically, after many hours or days of being connected which sometimes spans one or more of the forced 24-hour terminal reboots and update installations, the Bluetooth Stripe M2 card reader gets stuck in a connecting state. We use react-native-terminal via Expo. The symptoms of this state are:
- getConnectionStatus() returns a status of 'connecting'
- getConectedReader() returns a reader object with a status of 'offline'
- the M2's status lights are Scanning back and forth indicating that the reader is on and awaiting a connection
- the terminal/SDK remain in this state indefinitely and no additional events are sent
While the terminal/sdk are in this state, calls to createPaymentIntent never return/resolve.
Reloading the app's javascript bundle does not resolve the issue. The native SDK continues to return the same state information as above.
After completely closing and reopening the app the SDK returns no connected reader and a 'disconnected' connection status and we can connect to the reader without issue.
To Reproduce
Unfortunately this is extremely hard to reproduce but we see this happen consistently in production where our app is connected to a terminal for days or weeks.
Stripe Terminal React Native SDK version
- stripe-terminal-react-native: 0.0.1-beta.26,
- expo: 52.0.47
- react-native: 0.76.9
Point of sale device
- Device: 6th Gen iPad
- OS: iOS 18.6.2
- Connection type: Bluetooth
Reader device
Describe the bug
Periodically, after many hours or days of being connected which sometimes spans one or more of the forced 24-hour terminal reboots and update installations, the Bluetooth Stripe M2 card reader gets stuck in a connecting state. We use react-native-terminal via Expo. The symptoms of this state are:
While the terminal/sdk are in this state, calls to createPaymentIntent never return/resolve.
Reloading the app's javascript bundle does not resolve the issue. The native SDK continues to return the same state information as above.
After completely closing and reopening the app the SDK returns no connected reader and a 'disconnected' connection status and we can connect to the reader without issue.
To Reproduce
Unfortunately this is extremely hard to reproduce but we see this happen consistently in production where our app is connected to a terminal for days or weeks.
Stripe Terminal React Native SDK version
Point of sale device
Reader device