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

Trigger UpdateNeeded screen

Open owencraston opened this issue 2 years ago • 1 comments

Description

  • designs Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions, 1. What is the reason for the change? 2. What is the improvement/solution?

Screenshots/Recordings

If applicable, add screenshots and/or recordings to visualize the before and after of your change

Issue

Progresses https://github.com/MetaMask/mobile-planning/issues/232

Checklist

  • [ ] There is a related GitHub issue
  • [ ] Tests are included if applicable
  • [ ] Any added code is fully documented

owencraston avatar Aug 25 '22 21:08 owencraston

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

github-actions[bot] avatar Aug 25 '22 21:08 github-actions[bot]

In order to prevent the Onboarding wizard from showing up on top of my Modal I had to add the prop coverScreen={false} which changed the way the existing styles interacted with the screen. To combat this I changed the styles of the Step 5 section so that the buttons fit onto the blue modal. Now the padding is the same on both sides and we don't rely on a hardcoded DRAWER_WIDTH value Screen Shot 2022-10-03 at 3 02 23 PM

owencraston avatar Oct 03 '22 22:10 owencraston

From bug bashing session.

Android 13 Pixel 5a

After creating a new wallet, observed the prompt flashing twice.
Having issue loading video atm, but will edit to add later.

plasmacorral avatar Oct 22 '22 13:10 plasmacorral

Observed in build 998 v5.10.1 iPhone Xs iOS 16.0.2 (20A380)

MMM crashes if github is unavailable (blocked at router) when the user attempts to access Settings>Security and Privacy.

Reproduction steps:

  1. Have 'github' url filter to deny any github access at router
  2. Install build 995
  3. Import SRP
  4. Import PK
  5. Bind with Keystone
  6. Install build 998
  7. Say "No Thanks" on first launch to "Automatically check for security updates"
  8. land at wallet view
  9. Tap burger menu
  10. Tap Settings
  11. Tap Security and Privacy
  12. Open safari and try to access https://github.com and note that site is not reachable
  13. Observe alert about MMM crashing

Video: https://recordit.co/T49BsBQGrb

plasmacorral avatar Nov 03 '22 21:11 plasmacorral

If the first interaction with a build that prompts for version check is engaging a deeplink, that version check opt-in screen flashes and is then dismissed.

Observed on both iOS16 and Android 13.

Reproduction steps:

  1. Configure wallet on production v5.9.1 build 995
  2. update to build 998, but do not launch
  3. Tap on a deeplink https://metamask.app.link/dapp/opensea.io/
  4. Note that Version check screen flashes briefly but is dismissed once browser opens to opensea

Edited to add: Subsequent attempts to launch the app do ask the user to opt in or out of version checks. Also notable here is that when the deeplink is send tx, that the opt-in screen does not flash or appear at all.

plasmacorral avatar Nov 09 '22 20:11 plasmacorral

@plasmacorral Regarding the flashing after deeplinking, it seems to be related to logging in with a password vs biometrics as I can't see the issue when I use FaceId.

FaceId:

https://user-images.githubusercontent.com/22918444/200960818-fee82469-a4c0-49c2-9d84-d2616f523a43.mp4

Password:

https://user-images.githubusercontent.com/22918444/200960633-365969ff-6be6-42a8-9c27-ccaae0b0e1e0.MP4

owencraston avatar Nov 09 '22 23:11 owencraston

@plasmacorral I was able to address this issue in the latest commit. It was basically just a race condition on which would execute first, the deeplink or the navigation call.

https://user-images.githubusercontent.com/22918444/202033124-9ac5e2a7-f062-423e-aacc-a4f47d62eac8.MP4

owencraston avatar Nov 15 '22 21:11 owencraston

I have manually added the translations sent from this crowdin PR. There should be 14 ${language}.json files changed with the following keys added...

  1. automatic_security_checks
  2. update_needed
  3. enable_automatic_security_check_modal

owencraston avatar Nov 18 '22 21:11 owencraston

Translations are not ideal on smaller screened devices as some words get truncated or obscured.

Android Samsung Galaxy A8 running Android 7.1 on a 360 by 612 Viewport

The second row of text on the CTA is close or appears to spill off the bottom in German, Greek & Portuguese :

In French the CTA is very full:

In Russian, the CTA actually sits on top of the final word in the description "раскрываются": Screen Shot 2022-11-18 at 8 21 23 PM

On a small screen iOS device, the viewport is even smaller at 320 by 548.
iPhone SE 2022 running ios 15.4

Words in CTA are truncated in German, Spanish, Greek, French, Portuguese:

German SpanishGreek French Portuguese

The CTA once again covers the final word in the description in Russian: Russian

plasmacorral avatar Nov 19 '22 01:11 plasmacorral

Build 1013- Android

Prompt for Version check opt-in flashing before update needed, when this decision was previously made to opt-in.

Recording: https://recordit.co/3AVXljnNkh

Completed a test of creating a new wallet (still not backed up) on Friday with build 1013 on Android 12, Pixel 3a. Over the weekend, the battery died on the device. I plugged it in and upon first boot and launching MetaMask Mobile, the prompt to opt-in for version check flashed briefly before Update needed.

The opt-in decision was made last week and this screen should not re-appear.

Reproduction steps (this is what I did to arrive here, some of these steps are likely not important):

  1. Create new wallet
  2. ignore all prompts to back up
  3. opt-in to version check
  4. Dismiss update prompt with "remind me later"
  5. kill app
  6. relaunch and disable version check via settings>security and privacy
  7. Kill app and relaunch
  8. make sure no update nag presents
  9. Kill app and relaunch
  10. access settings>security and privacy and enable version checks
  11. Dismiss update nag with "remind me later"
  12. Let the battery fully discharge
  13. charge and reboot
  14. connect to wifi
  15. Launch MM
  16. Authenticate with password
  17. Should only see update nag, but video shows opt-in was presented

Also of note, an analytics event fired "Automatic Security Checks Disabled From Prompt". While in the video I did actually tap "Not now" on the version check opt-in that should not have appeared, you can see from settings that I was already (and remained) opted in to version checks.

This occurrence has the potential to undermine the veracity of analytics data, in addition to being an annoyance to users when prompting again for a previously made decision.

Edited on 11/21 to add: After reviewing my test records from Friday, it appears that steps 1-11 occurred within 60 minutes after installing an OS security update and rebooting the device. I have not been able to reproduce this issue on the same device where it was initially observed.

plasmacorral avatar Nov 21 '22 15:11 plasmacorral

Translations:

Recent updates resolve the button alignment and text obfuscation issues.

Android Samsung Galaxy A8 running Android 7.1 on a 360 by 612 Viewport CTA is much improved on German, Greek, French, Portuguese & Russian :

On a small screen iOS device with a viewport at 320 by 548.
iPhone SE 2022 running ios 15.4

Words in CTA are much improved in German, Spanish, Greek, French, Portuguese & Russian:

The full descriptions above are scroll able on both iOS and Android.

plasmacorral avatar Nov 22 '22 21:11 plasmacorral

Have been unable to reproduce this observation, will monitor post launch.

plasmacorral avatar Nov 22 '22 21:11 plasmacorral