metamask-mobile
metamask-mobile copied to clipboard
If user rejects Bluetooth permissions for MMM app, error brings them to Bluetooth settings rather than app settings
Description
I started this test off by uninstalling the MMM application and forgetting the device from Settings>Bluetooth in iOS. In the video at 14s, you can see that on first launch I decline the Bluetooth permissions request. At 28s I see the error message and a CTA labled "View Settings". That CTA brings the user to Settings>Bluetooth, where you can see the device has Bluetooth already turned on. In this scenario, the user could be directed instead to Settings>MetaMask to be able to provide the app Bluetooth permission.
iPhone 13 mini Running iOS 15.6.1 MMM build 952 Ledger Nano X firmware 2.0.2
Reproduction steps
Reproduction steps
- Ensure that Bluetooth device connection has been forgotten in the mobile OS settings
- Get a fresh install of MMM
- When Bluetooth permissions are requested, decline/reject
- Configure MMM by importing an SRP
- From wallet view tap the account icon
- Tap "Connect hardware wallet"
- Tap "Ledger"
- Notice error
- Tap CTA "View Settings"
- Note that user is brought to bluetooth settings rather than app level permissions
Acceptance Criteria
- When Bluetooth is turned on, but MMM does not have Bluetooth permissions. The error message and helper button should bring the user to app level permissions rather than Bluetooth settings.
Scenario: Bluetooth turned on but no permission
- GIVEN a user has Bluetooth turned on
- WHEN a user declines the Bluetooth permissions prompt
- AND a user attempts to pair a Ledger
- THEN an error should be presented
- AND the user should be helped into the app level settings to enable the permission
References
- https://recordit.co/aOAFgUeXoK
Almost the opposite observed on Android 11 in the send flow after successful pairing. If the user disables Bluetooth on the mobile device, the error message helper brings the user to app level permissions. In this scenario, the user needs to make changes in the system level Bluetooth settings, not the mobile app permissions.
Build 952 on Samsung A515f w/ Android 11: https://recordit.co/XvH7cb8XTS
This issue was closed because it has been stalled for 7 days with no activity. If you feel this was closed in error please reopen and provide evidence on the current production app. Thank you for your contributions.
Still valid- observed this on 7.17.0 RC1 build 1266 on iOS 17.3.1 Iphone Xs. LNX now on firmware 2.2.3
Related to this PR in the release: https://github.com/MetaMask/metamask-mobile/pull/8246
@plasmacorral for iOS (iPhone 13 - iOS 17.4.1) on main branch, I was successfully redirected to MetaMask app permissions, may you test again? Thanks 🙂
Reviewed QA build 7.22.0 build 1325 (RC3) for Android here and iOS here.
Devices tested:
LNX 2.2.3 with Eth App 1.10.4 Moto G Play (Android 11, security update Feb 1, 2023) Pixel 5a (Android 14, security update Apr 5, 2024) iPhone Xs (iOS 17.4.1)
The issue described in the ticket is resolved on the iOS device. On both Android 11 and 14, the settings helper directs users to the app settings (Settings>Apps>MetaMask) instead of directly to Settings>Apps>MetaMask>Permissions>Location
for older devices or Settings>Apps>MetaMask>Permissions>Nearby devices
for newer ones. This might be considered for an enhancement to improve user navigation/experience by taking them directly to where they need to make setting adjustment and will open a fresh enhancement request rather than a bug.
Recording: Android 11