Skip to content

release: 7.64.1.1 OTA#25920

Closed
sethkfman wants to merge 7 commits into
stablefrom
release/7.64.1.1
Closed

release: 7.64.1.1 OTA#25920
sethkfman wants to merge 7 commits into
stablefrom
release/7.64.1.1

Conversation

@sethkfman
Copy link
Copy Markdown
Contributor

@sethkfman sethkfman commented Feb 10, 2026

Description

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]

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.

Note

Medium Risk
Touches token balance fetching logic (via a patched dependency), which could affect displayed asset balances if the backfill logic is incorrect, but the rest is routine version/build number bumping.

Overview
Bumps release metadata for the OTA: OTA_VERSION moves v0v1, and Android/iOS/Bitrise build numbers are updated 36673698.

Applies a Yarn patch to @metamask/assets-controllers@98.0.0 that threads current tokenBalances into AccountsApiBalanceFetcher and backfills missing ERC-20 entries with explicit 0 balances when the Accounts API omits them, aiming to keep tracked user tokens present in balance results.

Written by Cursor Bugbot for commit 02f2728. This will update automatically on new commits. Configure here.

@sethkfman sethkfman requested a review from a team as a code owner February 10, 2026 19:16
@metamaskbot metamaskbot added the team-mobile-platform Mobile Platform team label Feb 10, 2026
@weitingsun weitingsun changed the base branch from stable to release/7.64.1 February 10, 2026 19:17
@weitingsun weitingsun changed the base branch from release/7.64.1 to stable February 10, 2026 19:20
@github-actions
Copy link
Copy Markdown
Contributor

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 github-actions Bot added size-XS and removed size-S labels Feb 10, 2026
Prithpal-Sooriya and others added 2 commits February 11, 2026 18:51
<!--
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**

Cherry-pick of #25797

## **Changelog**

<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`

If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`

(This helps the Release Engineer do their job more quickly and
accurately)
-->

CHANGELOG entry: fix: remove old erc-20 balances that fully get swapped

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user [verb for user action]
    Given [describe expected initial app state]

    When user [verb for user action]
    Then [describe expected outcome]
```

## **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
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - base branch is not main (base: stable)

All E2E tests pre-selected.

View GitHub Actions results

@github-actions github-actions Bot added size-M and removed size-XS labels Feb 11, 2026
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

+ const key = `${account.toLowerCase()}-${tokenLowerCase}-${chainId}`;
+ const isERC = tokenAddress !== ZERO_ADDRESS;
+ const existingBalance = nonNativeBalancesFromAPI.get(key);
+ if (isERC && !existingBalance) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Truthiness check instead of Map.has() for balance existence

Low Severity

The check !existingBalance uses truthiness to determine whether the API returned a balance for a token, but nonNativeBalancesFromAPI.get(key) returns the stored value, not a boolean. If a balance value is ever falsy (e.g., numeric 0 instead of a BN object), the check passes incorrectly and a duplicate zero-balance entry gets pushed into results. Using !nonNativeBalancesFromAPI.has(key) would correctly test for key existence regardless of the stored value's truthiness.

Additional Locations (1)

Fix in Cursor Fix in Web

@sonarqubecloud
Copy link
Copy Markdown

@github-actions github-actions Bot locked and limited conversation to collaborators Feb 13, 2026
@sethkfman sethkfman deleted the release/7.64.1.1 branch February 19, 2026 20:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

size-M team-mobile-platform Mobile Platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants