metamask-mobile
metamask-mobile copied to clipboard
Trigger UpdateNeeded screen
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
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.
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
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.
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:
- Have 'github' url filter to deny any github access at router
- Install build 995
- Import SRP
- Import PK
- Bind with Keystone
- Install build 998
- Say "No Thanks" on first launch to "Automatically check for security updates"
- land at wallet view
- Tap burger menu
- Tap Settings
- Tap Security and Privacy
- Open safari and try to access https://github.com and note that site is not reachable
- Observe alert about MMM crashing
Video: https://recordit.co/T49BsBQGrb
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:
- Configure wallet on production v5.9.1 build 995
- update to build 998, but do not launch
- Tap on a deeplink https://metamask.app.link/dapp/opensea.io/
- 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 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
@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
I have manually added the translations sent from this crowdin PR. There should be 14 ${language}.json files changed with the following keys added...
-
automatic_security_checks
-
update_needed
-
enable_automatic_security_check_modal
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 "раскрываются":
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:





The CTA once again covers the final word in the description in Russian:
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):
- Create new wallet
- ignore all prompts to back up
- opt-in to version check
- Dismiss update prompt with "remind me later"
- kill app
- relaunch and disable version check via settings>security and privacy
- Kill app and relaunch
- make sure no update nag presents
- Kill app and relaunch
- access settings>security and privacy and enable version checks
- Dismiss update nag with "remind me later"
- Let the battery fully discharge
- charge and reboot
- connect to wifi
- Launch MM
- Authenticate with password
- 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.
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.
Have been unable to reproduce this observation, will monitor post launch.