metamask-mobile
metamask-mobile copied to clipboard
App becomes unresponsive on "Confirm" if data connection is lost
Description
This is a test of interrupting data connectivity just before confirming a transaction on Ledger. When this happens, the data connection error page flashes and the user is returned to the "Confirm" page. Unfortunately, both the "Back" and "Cancel" options are unresponsive. The user needs to close the app and re-open, and will then see the action in activity showing with a status of "failed".
Produced on both Android 11 with Samsung A515f as well as iOS 15.6.1 with iPhone 13 mini using build 952.
Reproduction steps
- Have build 952 already paired with Ledger Nano X
- Be on a test network (Goerli)
- Turn on airplane mode on mobile device
- Turn Wi-Fi on and connect to network
- Turn on Bluetooth
- Leave airplane mode in the ON position, and have both Wi-Fi and Bluetooth ON over-top of Airplane mode
- Check Wi-Fi advanced settings and ensure that no other networks are present that have auto-connect enabled
- Compose transaction by selecting receive address and setting amount
- Tap "Confirm with Ledger"
- Advance to the "accept and send" action in Ledger menu
- Abruptly disconnect data by pulling power from router, or enable airplane mode on hotspot.
- Promptly confirm on Ledger by pressing both buttons
- Land back at "Confirm"
- Attempt to press "Back" or "Cancel" and note lack of response
Acceptance Criteria
- App should likely park user on data connection error in this scenario
- App should not become unresponsive pending closure
Scenario: Data interruption
- GIVEN a user is ready to confirm a transaction with Ledger
- WHEN a user loses all data connectivity
- AND a user confirms from Ledger
- THEN user should be parked on "You're offline..." error page in MMM when transaction cannot be broadcast
- WHEN data connection is restored
- THEN the transaction should be able to be resumed
- WHEN resuming the transaction is not possible
- THEN return the user to wallet view
References
- iOS: https://recordit.co/PPUOiHdE4G
- Android: https://recordit.co/sQMBU7RuMt