metamask-mobile icon indicating copy to clipboard operation
metamask-mobile copied to clipboard

If user rejects Bluetooth permissions for MMM app, error brings them to Bluetooth settings rather than app settings

Open plasmacorral opened this issue 2 years ago • 1 comments

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

  1. Ensure that Bluetooth device connection has been forgotten in the mobile OS settings
  2. Get a fresh install of MMM
  3. When Bluetooth permissions are requested, decline/reject
  4. Configure MMM by importing an SRP
  5. From wallet view tap the account icon
  6. Tap "Connect hardware wallet"
  7. Tap "Ledger"
  8. Notice error
  9. Tap CTA "View Settings"
  10. 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

plasmacorral avatar Aug 25 '22 22:08 plasmacorral

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

plasmacorral avatar Sep 13 '22 01:09 plasmacorral

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.

github-actions[bot] avatar Jun 16 '23 23:06 github-actions[bot]

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 avatar Feb 22 '24 22:02 plasmacorral

Comment made previously about android remains valid in Android 11, as observed in testing PR 8745

plasmacorral avatar Mar 01 '24 21:03 plasmacorral

@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 🙂

image

Akaryatrh avatar Apr 19 '24 12:04 Akaryatrh

Tested on iPhone 13 iOS 17.4.1 and working as expected:-

Private Zenhub Video

vivek-consensys avatar Apr 30 '24 10:04 vivek-consensys

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

plasmacorral avatar May 10 '24 04:05 plasmacorral