Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Merge 7.32.0 back into main #11669

Merged
merged 33 commits into from
Oct 8, 2024
Merged

chore: Merge 7.32.0 back into main #11669

merged 33 commits into from
Oct 8, 2024

Conversation

Cal-L
Copy link
Contributor

@Cal-L Cal-L commented Oct 7, 2024

Description

This PR merges 7.32.0 back into main after cutting a new RC with 7.31.1 hotfix.

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

metamaskbot and others added 30 commits September 19, 2024 22:50
This is PR updateds the change log for 7.32.0 and generates the test
plan here
[commit.csv](https://github.com/MetaMask/metamask-mobile/blob/release/7.32.0/commits.csv)

---------

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
Co-authored-by: Cal-L <cleun007@gmail.com>
## **Description**

Splash screen on android needs to be a smaller image
## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**
Dark mode

https://github.com/user-attachments/assets/74359131-dabb-4c1d-81f5-683ba055f95c

Light Mode


https://github.com/user-attachments/assets/4efca273-449b-4809-9593-0683d1b0a5b4


<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
…11358)

- New Crowdin translations by Github Action (#11092)

Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
[ab606b4](ab606b4)

Co-authored-by: MetaMask Bot <37885440+metamaskbot@users.noreply.github.com>
Co-authored-by: metamaskbot <metamaskbot@users.noreply.github.com>
… parameters (#11382)

- feat: app event manager and attribution id parameters (#11318)

## **Description**

When a user is redirected to MetaMask Mobile app thanks to a deep link,
including an attributionId parameter:

metamask://open.browser/website_url?attributionId=xyz
(deep link above is just a placeholder)

Then MM Mobile app should attach attributionId as a property to an event
emitted right after Mobile app opens.
Given Mobile app would open and directly redirect the user to the in-app
browser, the "App Opened" event might be a good candidate.


## **Related issues**

Files: [jira issue:

](https://id.atlassian.com/login?continue=https%3A%2F%2Fid.atlassian.com%2Fjoin%2Fuser-access%3Fresource%3Dari%253Acloud%253Ajira%253A%253Asite%252F8831f492-a12c-460e-ac1b-400f1b09e935%26continue%3Dhttps%253A%252F%252Fconsensyssoftware.atlassian.net%252Fbrowse%252FSDK-18%253FatlOrigin%253DeyJpIjoiNzI2OWEwNTczYTZmNGEyZjgxYmFjYjkxMzJlZmE4MTYiLCJwIjoiaiJ9&application=jira)

## **Manual testing steps**

1. Open deeplink container url and check event on segment

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

---------

Co-authored-by: Cal Leung <cal.leung@consensys.net>
[e99b5ca](e99b5ca)

Co-authored-by: abretonc7s <107169956+abretonc7s@users.noreply.github.com>
Co-authored-by: Cal Leung <cal.leung@consensys.net>
- fix: Unreadable Asset options (#11380)

## **Description**

On darkmode, asset options in bottom drawer were unreabable.

Additionally, when pressing on new "balance" list item, the button
didn't do anything. This PR also adds the navigation to TokenDetails.

## **Related issues**

Fixes: #11376

## **Manual testing steps**

1. Toggle dark mode in system settings
2. Navigate to token detail page
3. Press ellipsis in top right to open drawer. Text should be white on
darkmode, black on light mode
4. Additionally, when pressing balance from token detail screen, it
should be pressable and navigate to the token detail view. This should
not navigate anywhere for native gas token, and only for erc20 tokens on
each network (DAI, USDC, SushiSwap, etc)

## **Screenshots/Recordings**

### **Before**



![IMG_26837C390124-1](https://github.com/user-attachments/assets/cbf7ee10-7c4c-41a5-93e5-7a9f0a8984ca)

### **After**



https://github.com/user-attachments/assets/52d73fea-81ef-4f26-bdfa-cfc8b198b44a

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[a2adb20](a2adb20)

Co-authored-by: Nick Gambino <35090461+gambinish@users.noreply.github.com>
- fix: push notifications (#11250)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

This PR re-enable push notifications (background/foreground) based on
notifee approach.

## **Related issues**

Fixes:



[NOTIFY-1103](https://consensyssoftware.atlassian.net/issues/?jql=project+%3D+%22NOTIFY%22+AND+assignee+%3D+712020%3A5eed27f4-5f0b-4c08-92a0-9879b5f69a8d+ORDER+BY+created+DESC&atlOrigin=eyJpIjoiYmFjNDg1NDY1Y2ZlNDRiMGEwNTI0N2MzNzcxZjlmZjkiLCJwIjoiaiJ9)
## **Manual testing steps**

1. Install the MetaMask wallet
2. Click on the Bell Icon on the top-right header
3.Turn On Notifications
4. Trigger any transaction and leave the app.

Expected behaviour: A device push notification should appear on your
device.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**



https://github.com/user-attachments/assets/59938cbf-4a2c-4409-9b68-085ee67dcc9d


<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.


[NOTIFY-1103]:

https://consensyssoftware.atlassian.net/browse/NOTIFY-1103?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[dcca986](dcca986)

[NOTIFY-1103]:
https://consensyssoftware.atlassian.net/browse/NOTIFY-1103?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[NOTIFY-1103]:
https://consensyssoftware.atlassian.net/browse/NOTIFY-1103?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: Jonathan Ferreira <44679989+Jonathansoufer@users.noreply.github.com>
- fix: fix detect tokens performance (#11321)

## **Description**

This PR removes not needed calls in the codebase to
`TokenDetectionController.detectTokens(); ` that was making the app
slower;

Note: This performance issue is more noticeable on Android than IOS.

This PR remove this

[call](https://github.com/MetaMask/metamask-mobile/blob/6fc1d9d3ae3fc2f7e447349f8b110e9520fc9e15/app/core/Engine.ts#L1698)
in Engine.ts. This call is executed whenever the user switches networks;
I think this is not needed since `TokenDetectionController` in core is
already subscribed to `NetworkController:networkDidChange`.

Similarly, This PR also also removes this

[call](https://github.com/MetaMask/metamask-mobile/blob/6fc1d9d3ae3fc2f7e447349f8b110e9520fc9e15/app/components/Views/Wallet/index.tsx#L401)
in wallet/index.tsx;

I have also noticed that switching accounts in android is a bit slow;
that was due to calling detectTokens function twice.
One call was made because TokenDetectionController is subscribed to
`AccountsController:selectedAccountChange`
the other one was happening because of the subscription to
`PreferencesController:stateChange` which is redundant and was happening
because this

[PR](https://github.com/MetaMask/core/pull/4219/files#diff-3336d65a4d2c1e5af90f22e16feb058f327960796b135308bca9ed8415418f5dR297)
update was not patched;


When testing with simulator, after adding logs inside

[onNetworkChange](https://github.com/MetaMask/metamask-mobile/blob/726ca826662ea6044cd5da671555c379e19a7864/app/components/Views/NetworkSelector/NetworkSelector.tsx#L191)
This is how much it take to go from linea to Ethereum network on this PR
vs main
<img width="1758" alt="Screenshot 2024-09-19 at 17 29 51"

src="https://github.com/user-attachments/assets/7d66d49d-ffdc-4311-9fad-2b14245289f3">

<img width="1800" alt="Screenshot 2024-09-19 at 18 27 51"

src="https://github.com/user-attachments/assets/76fe85b6-4413-4a1a-9e4d-e1fc305f8b89">

Testing on physical:




https://github.com/user-attachments/assets/146cee68-75ba-459b-9e80-4b8f9bfb54b6




## **Related issues**

Fixes: https://github.com/MetaMask/mobile-planning/issues/1927

## **Manual testing steps**

(I found it easier to debug when you add console.log inside detect
tokens function to make sure it is not being called multiple times)
1. Go to home page and select Linea network; then go back to Ethereum
mainnet; switch back and forth multiple times and you should notice the
switch is smoother now; you can check your console.log in your terminal
and see that when you switch between networks; you only see it calling
detectTokens once.
2. Switch accounts back and forth and it should also be faster; you can
also check logs and make sure detectTokens is only triggered once when
switching accounts

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->



https://github.com/user-attachments/assets/721d1f56-6e1e-4940-9544-5d4b5c3232c0



### **After**

<!-- [screenshots/recordings] -->



https://github.com/user-attachments/assets/c6287f8c-3091-4267-b82a-4c6bc02527fb


## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[6e8d831](6e8d831)

Co-authored-by: sahar-fehri <sahar.fehri@consensys.net>
…1422)

- fix: fix fixture builder network state (#11411)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

This PR addresses and fixes structural issues in the network state used
by the E2E test fixture builder. Specifically, the duplicated keys and
misaligned network configuration objects have been corrected to ensure
the network state functions properly during end-to-end testing.

<!--
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?
-->

## **Related issues**

Fixes: #11362 

## **Manual testing steps**

1. run locally the test `e2e/specs/networks/add-custom-rpc.spec.js`
2. Gnosis network should be added

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**



https://github.com/user-attachments/assets/30534eb8-580a-4333-b8f9-7a5be9048b72



## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[34ffb57](34ffb57)

Co-authored-by: Salim TOUBAL <salim.toubal@outlook.com>
…no longer valid (#11423)

- fix: Update steps of the methods that are no longer valid (#11367)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Currently,

e2e/specs/permission-systems/permission-system-revoking-multiple-accounts.spec.js
is failing on main. Some of the methods used on some steps were changed
in a previous PR. But they spec was not updated as expected, so the test
failed because is unable to find those methods.

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**
Regression Test run:

https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d7aa537e-ac76-44dc-ab7d-b47b4ff995a8

iOS:


![image](https://github.com/user-attachments/assets/46120985-a3f6-4a3a-9782-9b996ac6d365)

Android:


![image](https://github.com/user-attachments/assets/f9bd7103-de33-40de-a2a5-59d6eb28b752)


### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

---------

Co-authored-by: Daniel Cross <dan.s.cross@icloud.com>
Co-authored-by: Curtis David <Curtis.David7@gmail.com>
[fb86c83](fb86c83)

Co-authored-by: SamuelSalas <samuel.salas.reyes@gmail.com>
Co-authored-by: Daniel Cross <dan.s.cross@icloud.com>
Co-authored-by: Curtis David <Curtis.David7@gmail.com>
…from ^6.0.0 to ^7.0.0 (#11207)" (#11439)

## **Description**

- Cherry-picks b6d21fd into the
`7.32.0` release candidate.
- Fixes an ["Unused `@ts-expect-error` directive"
error](https://github.com/MetaMask/metamask-mobile/actions/runs/11035415957/job/30651541194?pr=11439).
- This does not affect runtime behavior as evidenced by all [unit
tests](https://github.com/MetaMask/metamask-mobile/actions/runs/11035415957/job/30651915018?pr=11439)
and [e2e
tests](#11439 (comment))
passing before the fix commit is made.
- Depending on the order of cherry-picking, the error in this commit may
disappear and/or appear on a later commit.
- This it because the error arises from interactions between commits
that change `@metamask/base-controller` versions.
- This is also why this error appears in this commit, but didn't in the
original PR.
- This is not a cause for concern, as long as the final commit results
in the `@ts-expect-error` directive being removed.

## **Related issues**

Fixes:

## **Manual testing steps**

## **Screenshots/Recordings**

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

---------

Co-authored-by: Michele Esposito <michele@esposito.codes>
Co-authored-by: Michele Esposito <34438276+mikesposito@users.noreply.github.com>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Bump build to 1439

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

CP into 7.32.0

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.

---------

Co-authored-by: Cal-L <cleun007@gmail.com>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
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?
-->

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
- fix(11482): incorrect QR code error (#11518)

## **Description**

When scanning a invalid QR code you're given a deeplink error instead of
a QR code error.

## **Related issues**

Fixes: [#11482
](#11482)

## **Manual testing steps**

1.  Goto the wallet homepage
2. Click on the QR code icon at the top right
3. Scan a incorrect QR code (a QR account that isn't associated with any
address)
4. View
[issue](#11482) to see
recording if needed

## **Screenshots/Recordings**

| Before  | After |
|:---:|:---:|


|![before](https://github.com/user-attachments/assets/e811b492-e6f1-45e7-b8a6-229ac18203d6)|![after](https://github.com/user-attachments/assets/303d5aea-c186-47b8-9699-1629ab99d84d)|
### **Before**

NA

### **After**

NA

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[f2a253c](f2a253c)

Co-authored-by: Vince Howard <vincenguyenhoward@gmail.com>
…dark mode themes (#11555)

- fix(11481): android system alert respects dark mode themes (#11552)

## **Description**

In android our system alerts do not respect our dark mode themes as they
should.

KNOWN BUG:
When switching from light mode to dark mode the changes to Android
system alerts do not happen. The user is forced to close the app and
reopen and the alerts will be in dark mode. However switching from dark
to light mode is fine.
Would love feedback on how to solve this issue

I've created an issue for this bug
[here](#11553)

## **Related issues**

Fixes:
[#11481](#11481)

## **Manual testing steps**

1. Make sure you're using an Android device, rebuild or reinstall a
fresh app to make sure the changes are there.
2. Goto Android system settings and select light mode
3. Goto the MetaMask wallet home page
4. Click on the QR code on the top right
5. Scan an invalid QR code
6. See that the system alert is white background with black text
7. Go to the Android settings and change it to dark mode
8. Go back to the MetaMask app and scan the invalid QR code again, you
should see a dark alert with white text. If not force close the app and
reopen and the changes will take place

## **Screenshots/Recordings**

NA

### **Before**

| Dark Mode (broken) | Light Mode (not broken)
|:---:|:---:|


|![Screenshot_1727810220](https://github.com/user-attachments/assets/c0d3dd99-6939-4199-918f-d127b1bd6dd7)|![Screenshot_1727809386](https://github.com/user-attachments/assets/7a1e40fb-236d-4de4-811d-7c6d3155691e)||

### **After**

| Dark Mode  | Light Mode |
|:---:|:---:|


|![darkmode](https://github.com/user-attachments/assets/543b0c4d-6e69-48c2-b965-2764378f6f03)]|![Screenshot_1727809386](https://github.com/user-attachments/assets/7a1e40fb-236d-4de4-811d-7c6d3155691e)|

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[95f9a91](95f9a91)

Co-authored-by: Vince Howard <vincenguyenhoward@gmail.com>
- fix: Fix/use portfolio home page (#11554)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
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?
-->

Replaces the browser home page from `https://home.metamask.io` to
`https://portfolio.metamask.io/explore?MetaMaskEntry=mobile`

## **Related issues**

Fixes: Thread -
https://consensys.slack.com/archives/C07PHNQ61SA/p1727810879864649

## **Manual testing steps**

1. Install a new version of the app
2. Switch to the browser tab
3. Default home page should show portfolio explore page

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->



https://github.com/user-attachments/assets/5211a097-baaf-4489-9cd4-b69871321f26

Old MM home still works
<img width="444" alt="image"

src="https://github.com/user-attachments/assets/127eaf65-f304-42bc-862b-7eb42354847b">


## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[3084746](3084746)

Co-authored-by: Cal Leung <cal.leung@consensys.net>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
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?
-->

Bump 7.32.0 to 1442 for RC 5

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
- fix: Fix invalid browser url crash (#11581)

<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

<!--
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?
-->

This PR fixes the crash in 7.32.0 for invalid URL in browser. The global
`URL` didn't catch invalid urls gracefully, so we are using the lib
`url-parser`

## **Related issues**

Fixes: #11479 

## **Manual testing steps**

1. Go to browser
2. Enter `httttps://app.uniswap.org`
3. Website shows invalid url scheme
4. App doesn't crash

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->



https://github.com/user-attachments/assets/2980c632-ed4b-48a4-976c-b1da54c590ce


## **Pre-merge author checklist**

- [x] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding

Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [x] I've completed the PR template to the best of my ability
- [x] I’ve included tests if applicable
- [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [x] I’ve applied the right labels on the PR (see [labeling

guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [x] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [x] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
[e80a1e8](e80a1e8)

Co-authored-by: Cal Leung <cal.leung@consensys.net>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Bump build to 1443

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
This PR cherry-picks #11325

Co-authored-by: abretonc7s <107169956+abretonc7s@users.noreply.github.com>
Co-authored-by: Christopher Ferreira <104831203+christopherferreira9@users.noreply.github.com>
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->

## **Description**

Bump version to 1444

## **Related issues**

Fixes:

## **Manual testing steps**

1. Go to this page...
2.
3.

## **Screenshots/Recordings**

<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->

### **Before**

<!-- [screenshots/recordings] -->

### **After**

<!-- [screenshots/recordings] -->

## **Pre-merge author checklist**

- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

## **Pre-merge reviewer checklist**

- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
github-actions bot and others added 2 commits October 7, 2024 14:51
This PR cherry-picks #11631

Co-authored-by: Nick Gambino <35090461+gambinish@users.noreply.github.com>
Co-authored-by: Nico MASSART <NicolasMassart@users.noreply.github.com>
## **Description**
- Bump build dumber to 1450
- Update release notes with 7.31.1 fix
@Cal-L Cal-L requested review from a team as code owners October 7, 2024 21:28
Copy link
Contributor

github-actions bot commented Oct 7, 2024

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.

@Cal-L Cal-L added No QA Needed Apply this label when your PR does not need any QA effort. needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) team-mobile-platform labels Oct 8, 2024
Copy link
Contributor

@chrisleewilcox chrisleewilcox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 54.13%. Comparing base (bda40a6) to head (b877f61).
Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11669      +/-   ##
==========================================
+ Coverage   54.02%   54.13%   +0.11%     
==========================================
  Files        1679     1687       +8     
  Lines       38500    38533      +33     
  Branches     4702     4703       +1     
==========================================
+ Hits        20798    20859      +61     
+ Misses      16266    16236      -30     
- Partials     1436     1438       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

sonarqubecloud bot commented Oct 8, 2024

@Cal-L Cal-L added this pull request to the merge queue Oct 8, 2024
Merged via the queue into main with commit cee6f4a Oct 8, 2024
47 of 49 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Oct 8, 2024
@github-actions github-actions bot removed the needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) label Oct 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
No QA Needed Apply this label when your PR does not need any QA effort. release-7.34.0 team-mobile-platform
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.