Skip to content

Conversation

metamaskbot
Copy link
Collaborator

@metamaskbot metamaskbot commented Aug 28, 2025

🚀 v7.55.0 Testing & Release Quality Process

Hi Team,
As part of our new MetaMask Release Quality Process, here’s a quick overview of the key processes, testing strategies, and milestones to ensure a smooth and high-quality deployment.


📋 Key Processes

Testing Strategy

  • Developer Teams:
    Conduct regression and exploratory testing for your functional areas, including automated and manual tests for critical workflows.
  • QA Team:
    Focus on exploratory testing across the wallet, prioritize high-impact areas, and triage any Sentry errors found during testing.
  • Customer Success Team:
    Validate new functionalities and provide feedback to support release monitoring.

GitHub Signoff

  • Each team must sign off on the Release Candidate (RC) via GitHub by the end of the validation timeline (Tuesday EOD PT).
  • Ensure all tests outlined in the Testing Plan are executed, and any identified issues are addressed.

Issue Resolution

  • Resolve all Release Blockers (Sev0 and Sev1) by Tuesday EOD PT.
  • For unresolved blockers, PRs may be reverted, or feature flags disabled to maintain release quality and timelines.

Cherry-Picking Criteria

  • Only critical fixes meeting outlined criteria will be cherry-picked.
  • Developers must ensure these fixes are thoroughly reviewed, tested, and merged by Tuesday EOD PT.

🗓️ Timeline and Milestones

  1. ** Friday:** Begin Release Candidate validation.
  2. Tuesday EOD PT: Finalize RC with all fixes and cherry-picks.
  3. Wednesday: Buffer day for final checks.
  4. Thursday: Submit release to app stores and begin rollout to 1% of users.
  5. Monday: Scale deployment to 10%.
  6. Tuesday: Full rollout to 100%.

✅ Signoff Checklist

Each team is responsible for signing off via GitHub. Use the checkbox below to track signoff completion:

Team sign-off checklist

  • Accounts
  • Assets
  • Card
  • Confirmations
  • Core Platform
  • Design System
  • Earn
  • Identity
  • Mobile Platform
  • New Networks
  • Perps
  • Phosphor
  • Ramp
  • Rewards
  • SDK
  • Snaps Platform
  • Swaps and Bridge
  • Transactions
  • Wallet Framework
  • Wallet UX
  • Web3auth
  • Mobile UX

This process is a major step forward in ensuring release stability and quality. Let’s stay aligned and make this release a success! 🚀

Feel free to reach out if you have questions or need clarification.

Many thanks in advance

Reference

https://docs.google.com/spreadsheets/d/1tsoodlAlyvEUpkkcNcbZ4PM9HuC9cEM80RZeoVv5OCQ/edit?gid=1722820469#gid=1722820469

abretonc7s and others added 30 commits August 27, 2025 13:39
…18746)

## **Description**

This PR addresses multiple bugs and UX improvements in the Perps order
flow, improving the overall trading experience and fixing critical
issues reported by users.

### Key improvements:
1. **Fixed double order submission on Android
([TAT-1424](https://consensyssoftware.atlassian.net/browse/TAT-1424))**
- Added submission guard to prevent race conditions
2. **Improved order submission UX
([TAT-1414](https://consensyssoftware.atlassian.net/browse/TAT-1414))**
- Navigate immediately with "Order Submitted" toast, then show "Order
Confirmed" after execution
3. **Updated minimum order size
([TAT-1351](https://consensyssoftware.atlassian.net/browse/TAT-1351))**
- Changed to $10 across all environments for consistency
4. **Auto-open limit price modal
([TAT-1368](https://consensyssoftware.atlassian.net/browse/TAT-1368))**
- Automatically opens when switching to limit order type, preventing
error state
5. **Enhanced TP/SL filtering
([TAT-1384](https://consensyssoftware.atlassian.net/browse/TAT-1384))**
- Properly filters Stop Market and Take Profit Limit orders from Orders
tab
6. **Fixed limit price presets
([TAT-1411](https://consensyssoftware.atlassian.net/browse/TAT-1411))**
- Direction-specific presets now work correctly (Long: -1%,-2%,-5%,-10%
| Short: +1%,+2%,+5%,+10%)
7. **Dynamic tab visibility
([TAT-1410](https://consensyssoftware.atlassian.net/browse/TAT-1410))**
- Tabs hide/show based on available data (no empty tabs)
8. **TP/SL row grouping** - Combined into single row showing percentages
for better UX
9. **Fixed leverage bottom sheet alignment
([TAT-1382](https://consensyssoftware.atlassian.net/browse/TAT-1382))**
- Resolved text overflow and improved visual consistency
10. **Optimized price subscriptions** - Added price channel pre-warming
to maintain single WebSocket connection for all market prices, reducing
connection overhead and improving performance
11. **Improved code maintainability** - Extracted magic numbers to
configuration constants, added comprehensive JSDoc documentation, and
centralized color management for consistency
12. **Enhanced slider UX** - Increased thumb size and touch target area
for better mobile interaction in both leverage and position sliders
13. **MetaMask builder fees
([TAT-1221](https://consensyssoftware.atlassian.net/browse/TAT-1221))**
- Restructured fee calculation to properly include MetaMask's 0.1%
builder fee with provider-agnostic architecture ready for future
points-based discounts
14. **Enhanced tooltip accessibility** - Increased info icon size from
16px to 20px and touch target to 40x40px for better visibility and
mobile interaction
15. **Fixed activity page title alignment
([TAT-1387](https://consensyssoftware.atlassian.net/browse/TAT-1387))**
- Centered title text in transaction detail views for better visual
alignment
16. **Fixed back arrow navigation
([TAT-1398](https://consensyssoftware.atlassian.net/browse/TAT-1398))**
- Back arrow now consistently navigates to Perps markets page and
increased touch target to 44x44px for better accessibility
17. **Added time to transaction dates
([TAT-1388](https://consensyssoftware.atlassian.net/browse/TAT-1388))**
- Transaction detail screens now show both date and time (e.g., "January
18, 2022 at 12:00 AM")
18. **Display PnL in trade history
([TAT-1374](https://consensyssoftware.atlassian.net/browse/TAT-1374))**
- Trade history now shows actual profit/loss instead of order size -
opens show fee paid, closes show net PnL (after fees)
19. **Hide network picker in Perps tab
([TAT-1402](https://consensyssoftware.atlassian.net/browse/TAT-1402))**
- Network picker is now hidden when viewing the Perps tab in Activity
view as Perps is network-agnostic
20. **Fix funding history order
([TAT-1375](https://consensyssoftware.atlassian.net/browse/TAT-1375))**
- Funding tab now shows newest transactions first, matching the behavior
of Orders and Trades tabs
21. **Fixed PnL color display** - Trade history now correctly shows
green for positive PnL and red for negative PnL
22. **Removed points display** - Temporarily disabled points feature in
transaction details as it's not yet activated
23. **Display limit orders in Perps homescreen
([TAT-1400](https://consensyssoftware.atlassian.net/browse/TAT-1400))**
- Open limit orders now properly display below positions in the Perps
tab with unified card design
24. **Fixed app crash when switching accounts
([TAT-1363](https://consensyssoftware.atlassian.net/browse/TAT-1363))**
- Resolved CLIENT_NOT_INITIALIZED race condition errors occurring when
switching between accounts or testnet/mainnet by implementing proper
initialization synchronization

## **Changelog**

CHANGELOG entry: Fixed multiple Perps trading issues including double
order submission, improved order flow UX, enhanced TP/SL display,
resolved leverage bottom sheet alignment issues, optimized WebSocket
price subscriptions, improved code maintainability with constants and
documentation, enhanced slider and tooltip UX for better mobile
interaction, and restructured fee calculation to properly include
MetaMask builder fees

## **Related issues**

Fixes:
- [TAT-1424](https://consensyssoftware.atlassian.net/browse/TAT-1424):
Each order is submitted twice (Android only)
- [TAT-1414](https://consensyssoftware.atlassian.net/browse/TAT-1414):
Order submission and execution UX differ from designs
- [TAT-1351](https://consensyssoftware.atlassian.net/browse/TAT-1351):
Trade screen - default & minimum order size is $6 instead of $10
- [TAT-1368](https://consensyssoftware.atlassian.net/browse/TAT-1368):
Auto-open limit price bottom sheet when limit order selected
- [TAT-1384](https://consensyssoftware.atlassian.net/browse/TAT-1384):
Remove TP and SL from the order tab
- [TAT-1411](https://consensyssoftware.atlassian.net/browse/TAT-1411):
Limit order price bottom sheet presets bugs
- [TAT-1410](https://consensyssoftware.atlassian.net/browse/TAT-1410):
Hide empty tabs dynamically
- [TAT-1382](https://consensyssoftware.atlassian.net/browse/TAT-1382):
Mis-alignment in leverage config bottom sheet
- [TAT-1221](https://consensyssoftware.atlassian.net/browse/TAT-1221):
MetaMask builder fees not included in order calculations
- [TAT-1387](https://consensyssoftware.atlassian.net/browse/TAT-1387):
Bad title alignment in Activity Pages (Trades, Orders, Funding)
- [TAT-1398](https://consensyssoftware.atlassian.net/browse/TAT-1398):
Perps asset detail screen return arrow has wrong navigation and small
touch target
- [TAT-1388](https://consensyssoftware.atlassian.net/browse/TAT-1388):
Missing Time in Activity Details
- [TAT-1374](https://consensyssoftware.atlassian.net/browse/TAT-1374):
Show PnL instead of order size in trade history
- [TAT-1402](https://consensyssoftware.atlassian.net/browse/TAT-1402):
Network picker is displayed in Activity page when selecting perps tab
- [TAT-1375](https://consensyssoftware.atlassian.net/browse/TAT-1375):
Issues in funding history tab - wrong order
- [TAT-1400](https://consensyssoftware.atlassian.net/browse/TAT-1400):
Display limit orders in perps tab in homescreen
- [TAT-1363](https://consensyssoftware.atlassian.net/browse/TAT-1363):
App crash when switching across accounts

## **Manual testing steps**
```gherkin
Feature: Perps Order Flow Bug Fixes

  Scenario: User submits a market order on Android
    Given the user is on the Perps order screen
    And the user has sufficient balance
    
    When user taps the place order button once
    Then the order should be submitted only once
    And user should see "Order Submitted" toast immediately
    And user should be navigated to market details
    And user should see "Order Confirmed" toast after execution

  Scenario: User switches to limit order type
    Given the user is on the Perps order screen with market order selected
    
    When user changes order type to limit
    Then the limit price modal should open automatically
    And no error state should be shown

  Scenario: User views orders tab
    Given the user has open orders including TP/SL orders
    
    When user navigates to the orders tab
    Then only limit orders should be displayed
    And Stop Market and Take Profit Limit orders should be filtered out

  Scenario: User sets limit price using presets
    Given the user has the limit price modal open
    
    When user taps a preset button (e.g., -1%)
    Then the input should update with the calculated price
    And long orders should show negative presets (-1%, -2%, -5%, -10%)
    And short orders should show positive presets (+1%, +2%, +5%, +10%)

  Scenario: User views market tabs with no positions
    Given the user has no open positions or orders
    
    When user views the market details page
    Then only the Statistics section should be visible
    And no empty tabs should be shown

  Scenario: User configures TP/SL
    Given the user is on the order screen
    
    When user views the TP/SL row
    Then TP and SL should be combined in a single row
    And values should display as percentages (e.g., "TP 10%, SL 20%")
    And an info tooltip should be available

  Scenario: User adjusts leverage
    Given the user opens the leverage bottom sheet
    
    When user views the leverage slider
    Then the warning text should fit on a single line
    And warning text color should match the slider gradient position
    And the slider should show min, middle, and max values
    And all content should have proper horizontal margins
```

## **Screenshots/Recordings**

### **Before**
- Double orders submitted on Android
- Error state shown when switching to limit order
- TP/SL orders visible in Orders tab
- Separate TP and SL rows with dollar amounts
- Empty tabs shown when no data available
- Leverage warning text overflowing off screen
- No middle value on leverage slider

### **After**
- Single order submission with proper guard
- Limit price modal auto-opens smoothly
- Only limit orders shown in Orders tab  
- Combined TP/SL row with percentage display
- Dynamic tab visibility based on data
- Leverage warning text properly aligned with dynamic colors
- Slider shows min, middle, and max values

## **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.


[TAT-1424]:
https://consensyssoftware.atlassian.net/browse/TAT-1424?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[TAT-1414]:
https://consensyssoftware.atlassian.net/browse/TAT-1414?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[TAT-1351]:
https://consensyssoftware.atlassian.net/browse/TAT-1351?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[TAT-1368]:
https://consensyssoftware.atlassian.net/browse/TAT-1368?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[TAT-1384]:
https://consensyssoftware.atlassian.net/browse/TAT-1384?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[TAT-1411]:
https://consensyssoftware.atlassian.net/browse/TAT-1411?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: Claude <[email protected]>
<!--
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?
-->
* Update the unit test to include all unit tests in the e2e folder
* Add unit tests for mockHelpers to make it easier to make changes in
future
## **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:

## **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**

- [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.
## **Description**

Specify the deposit amount in the selected fiat currency in the Perps
Deposit confirmation.

In addition:

- Limit maximum number of decimal places to `2`.
- Limit maximum length of input to `28`.
- Automatically update font size based on input length.
- Fix `useSignedOrSubmittedAlert` to only flag transactions on same
chain and account.
- Remove `MM_CONFIRMATION_INTENTS` environment variable.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

Fixes:
[#5640](MetaMask/MetaMask-planning#5640)

## **Manual testing steps**

## **Screenshots/Recordings**

### **Before**

### **After**

## **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.
…mver version (#18755)

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

As indicated by @davidmurdoch in this
[comment](https://github.com/MetaMask/metamask-extension/pull/35248/files#r2298594479),
git tags might be problematic because they're not protected.

We've decided to remove the dependency on tags because we don’t actually
need them. They were introduced 2 years ago when this GitHub Action was
created, but in practice the next semver version has always been
determined by branches.
Branches make more sense as the source of truth anyway, since creating a
new release branch is what actually defines that a new release has been
cut.

## **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:

## **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**

- [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.
<!--
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 adds a check to verify if the Card Home page is running in an
E2E test environment.
When detected, the skeleton loading is disabled.

This adjustment is required due to a known compatibility issue between
Detox and the Skeleton component.

## **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:

## **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**

- [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.
<!--
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**
Bug fix: when we scan a Wallet Connect (WC) QR code, the app displays
"this page doesn't exist" modal

## **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: null

## **Related issues**

Fixes:
#18641

## **Manual testing steps**

```gherkin
Feature: Fix WC QR Code Scan 

  Scenario: user scans wallet connect QR code from https://rainbowkit.com/ 
    Given user on QR code scanner screen

    When user scans the QR code
    Then wallet connect modal should pop up to allow users to connect
```

## **Screenshots/Recordings**

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

### **Before**
![WC
before](https://github.com/user-attachments/assets/92856abd-e17e-4c11-b7c2-ce1593115fb6)

### **After**
iOS
![WC
after](https://github.com/user-attachments/assets/c2335a47-e47e-485b-ac18-04fb31247b0a)

Android
![WC Android
After](https://github.com/user-attachments/assets/39ef7532-1913-4214-8fd2-3c64c6cafc7c)

<!-- [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.
…e commits.csv from changelog pr, add workflow artifact (#18840)

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

Ticket: https://consensyssoftware.atlassian.net/browse/INFRA-2867
Added chore prefix to PR, await for create release, remove commits.csv
from changelog pr, add commits.csv to workflow artifacts

The Github Action doesn’t inform us when
[createReleaseSheet](https://github.com/MetaMask/github-tools/blob/dde6d530bebae07d1e50180894ab2cac64170a2c/.github/scripts/update-release-sheet.mjs#L313)
succeeds or fails, we should add an ‘await’ in front of it.

The changelog PR shall not include ‘commits.csv’ as we have here:
[MetaMask/metamask-extension@](https://github.com/MetaMask/metamask-extension/commit/e6be418e07eb04d47ce7dd07432a2136382f1180#r2254840331)https://github.com/MetaMask/metamask-extension/commit/e6be418e07eb04d47ce7dd07432a2136382f1180[#r2254840331](https://github.com/MetaMask/metamask-extension/commit/e6be418e07eb04d47ce7dd07432a2136382f1180#r2254840331)

The title of the version bump PR created by the Github Action doesn’t
respect conventional commits format, which makes the CI fail. It should
be prefixed with release: .
Tested here:
https://github.com/consensys-test/metamask-extension-test-workflow2/actions/runs/17270524861/job/49013733053,
https://github.com/consensys-test/metamask-extension-test-workflow2/actions/runs/17272422001

consensys-test/metamask-extension-test-workflow2#28
(No commits.csv)

consensys-test/metamask-extension-test-workflow2#32
(Added release prefix)

https://github.com/consensys-test/metamask-extension-test-workflow2/actions/runs/17272422001
(commits.csv workflow artifact)

## **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:

## **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.

Signed-off-by: Pavel Dvorkin <[email protected]>
<!--
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 reintroduces the scan button to the Wallet Homepage
<!--
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?
-->

## **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:

## **Related issues**

Fixes: #18640

## **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**

https://github.com/user-attachments/assets/916cd417-6692-46ce-b502-0f03eb8c052d

<!-- [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.
<!--
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 slims down all Smoke suites to allow faster and objective
feedback.
It also adds the regression workflows on 3 triggers:
- Schedule - every day at 4:30 UTC (same as bitrise)
- Workflow Dispatch - ability to select the suites on demand
- Workflow call - in case we want to tie this in to other workflows

ℹ️ **Old Regression test count:** 92
ℹ️ **New Regression test count:** 172

### Regression changes
All tests currently marked with tag `Regression` have been moved to
their respective areas. This means that the existing regression tests
will now execute in GHA (android only for the time being) as parallel
jobs.
The bitrise workflows are now updated to slice up tests into the new
regression labels instead of using the generic label.
A script to validate the inputs has been added so that the job is not
called manually with 0 selected tags.

**Bitrise before changes:**
<img width="1362" height="1404" alt="Screenshot 2025-08-26 at 20 54 23"
src="https://github.com/user-attachments/assets/b3b4ff58-37f4-4edc-a2f5-43115eef1843"
/>

**Bitrise after changes:**
<img width="1285" height="1789" alt="Screenshot 2025-08-26 at 21 12 40"
src="https://github.com/user-attachments/assets/d31d834b-e479-4b56-aef8-83d4a2be41aa"
/>

### New tags:
- SmokeAssets - not yet in use but ready to have more tests
- RegressionAssets
- RegressionAccounts
- RegressionConfirmations
- RegressionWalletUX 
- SmokeWalletUX - not yet in use but ready to have more tests
- RegressionIdentity
- RegressionTrade
- RegressionNetworkAbstractions
- RegressionWalletPlatform
- RegressioNNetworkExpansion

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

## **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:

## **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.
<!--
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 cleans up the `AddressList` style to use components from
`@metamask/design-system-react-native` and proper spacing
<!--
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?
-->

## **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:

## **Related issues**

Fixes:
https://consensyssoftware.atlassian.net/jira/software/c/projects/DSYS/boards/1888?quickFilter=2109&selectedIssue=DSYS-116

## **Manual testing steps**

```gherkin
Feature: AddressList

  Scenario: AddressList on Multichain State 2
    Given Multichain State 2 feature flag is enabled

    When user clicks on Address Copy on the Wallet page
    Then the new AddressList should appear 
```

## **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/4ac7d080-77d9-4865-af9a-4202416805d8

<!-- [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.
#18765)

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

When in the deeplink:
In case the user doesn't have the solana account active by the time the
deeplink opens, we are still opening the swaps page with the correct
asset preselected, by the chainId.
The account will also automatically switch to the chain in use (the
asset to swap).



https://github.com/user-attachments/assets/508d6360-8bf5-445b-8f46-39d6876aca69



## **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: chore: When in the deeplink, pass the native asset for
navigating to swaps page

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: my feature name

  Scenario: user click on depplink (`xcrun simctl openurl booted https://link.metamask.io/create-account\?chainId\=solana%3A5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`)
    The current selected/active account in the app, is an EVM account
    Then the app opens the solana swap flow with the default pair and automatically sets the solana account as active
```

## **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: Alejandro Garcia Anglada <[email protected]>
<!--
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**

All banners will now come from Contentful. Thus, this PR removes all
hardcoded banners and adds the ability to order the Contentful banners.

Additional information can be found here:

https://docs.google.com/document/d/1qfntKBDNQVCQzbBNcd0Qb8rzsVn8PPUIjaKPk5R9dBY/edit?tab=t.0

PR on the extension side:
MetaMask/metamask-extension#35109
<!--
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?
-->

## **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: Updated Carousel Banners

## **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. -->
<img width="443" height="893" alt="Screenshot 2025-08-27 at 6 14 52 PM"
src="https://github.com/user-attachments/assets/ebda03b0-092f-4111-a457-e01fb71ba217"
/>
<img width="405" height="925" alt="Screenshot 2025-08-27 at 8 04 02 PM"
src="https://github.com/user-attachments/assets/9772f36c-1565-447f-8b13-8ddfce60f8a0"
/>



## **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).
- [ ] 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: Prithpal Sooriya <[email protected]>
<!--
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 implements a 5-minute Redux caching strategy for MetaMask Card
token allowances to prevent infinite loading states in the CardHome
component.

**Key Changes:**

- Added `priorityToken` and `lastFetched` fields to card Redux slice
- Implemented `selectIsCardCacheValid` selector with 5-minute expiration
logic
- Modified `useGetPriorityCardToken` hook to use cache-first approach
- Added comprehensive test coverage for caching scenarios
- Enhanced compatibility with redux-persist (Date objects and ISO
strings)

## **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: Improved Card component performance by implementing a
5-minute caching strategy for token allowances

## **Related issues**

Fixes:

## **Manual testing steps**

```gherkin
Feature: Card Token Caching Strategy

  Scenario: user accesses Card component with fresh cache
    Given the Card component is mounted with a valid user address
    And no cached priority token data exists
    When the component loads for the first time
    Then it should fetch priority token data from the API
    And store the result in Redux cache with timestamp
    And display the priority token information

  Scenario: user accesses Card component with valid cache
    Given the Card component is mounted with a valid user address
    And cached priority token data exists from less than 5 minutes ago
    When the component loads
    Then it should use the cached data without making API calls
    And display the cached priority token information immediately

  Scenario: user accesses Card component with expired cache
    Given the Card component is mounted with a valid user address
    And cached priority token data exists from more than 5 minutes ago
    When the component loads
    Then it should fetch fresh priority token data from the API
    And update the cache with new data and timestamp
    And display the updated priority token information
```

## **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/6b1da7e8-75a1-4123-9366-e6344c58e701

### **After**

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


https://github.com/user-attachments/assets/438c642d-788f-4aa5-9937-41c03ba3f2ef

## **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.
<!--
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?
-->

Imports the selector from `@metamask/assets-controllers` so that it can
be used by subsequent PRs by multiple teams. Including tokens list by
assets and send flow by confirmations.

Preview WIP PR for tokens list using the same selector:
#18566

I have verified that calling the selector returns the expected output.

## **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:

## **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**

- [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.
## **Description**

The TradingView chart component was loading the Lightweight Charts
library from an external CDN:
https://unpkg.com/[email protected]/dist/lightweight-charts.standalone.production.js

There are several problems with this, two of which are:

1. If unpkg.com gets compromised, malicious JavaScript could be injected
into our app
2. Chart could fail is CDN is unreachable

This PR introduces the bundle for
[lightweight-charts](https://github.com/tradingview/lightweight-charts)
locally. This removes the external dependency on the CDN, with the
caveat that we will be locked in at this version until we manually
update the local bundle.

## **Changelog**

CHANGELOG entry: Add local bundle of lightweight-charts library to
mobile codebase

## **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**

Perps chart should remain fully functional:

<img width="439" height="893" alt="Screenshot 2025-08-27 at 12 07 23 PM"
src="https://github.com/user-attachments/assets/12743bab-48fa-408f-9896-92406ed440de"
/>

## **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.
<!--
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 bumps `@metamask/signature-controller` from `^30.0.0` to
`^32.0.0`
([CHANGELOG](https://github.com/MetaMask/core/blob/main/packages/signature-controller/CHANGELOG.md#3200))
  - No major breaking changes, but resolves 2 peer dependency warnings.

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

## **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:

## **Related issues**

Fixes: #17488

## **Manual testing steps**

## **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.
…#18545)

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

Integrates perps account balances into the wallet portfolio view,
allowing users to see their total portfolio value including perps
positions.

**Reason for change:** Users couldn't see their complete financial
position as perps balances were isolated from wallet totals.

**Improvement:** 
- Perps balances now included in total wallet balance
- WebSocket connections optimized - only active in perps environment
- Balances persist in Redux for offline viewing
- Real 24h historical data for accurate portfolio change calculations

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

## **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: Added perps account value to wallet total balance and
unrealized P&L display

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/TAT-1299
Fixes: https://consensyssoftware.atlassian.net/browse/TAT-1044

## **Manual testing steps**

```gherkin
Feature: Perps Balance Integration

  Scenario: User views combined wallet and perps balance
    Given user has $1000 in wallet
    And user has $500 in perps account
    And perps feature is enabled

    When user opens wallet view
    Then total balance shows $1500
    And perps balance is included without WebSocket connection

  Scenario: User switches between wallet and perps tabs
    Given user is viewing wallet with perps balance included
    
    When user navigates to perps tab
    Then WebSocket connection establishes
    And real-time updates begin
    
    When user returns to wallet view
    Then WebSocket disconnects
    And perps balance persists from Redux

  Scenario: User restarts app with perps balance
    Given user has perps balance of $500
    And app is force quit
    
    When user reopens app
    Then perps balance of $500 displays immediately
    And no WebSocket connection is made until entering perps

  Scenario: User sees accurate 24h portfolio changes
    Given yesterday's perps balance was $400
    And today's perps balance is $500
    And wallet balance unchanged
    
    When user views portfolio percentage
    Then percentage reflects combined portfolio change
    And uses real historical data not estimates
```

## **Screenshots/Recordings**

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

### **Before**

<!-- [screenshots/recordings] -->
- Perps balance not included in wallet total
- No historical data for accurate percentages

### **After**

<!-- [screenshots/recordings] -->
- Unified portfolio balance (wallet + perps)
- Real 24h historical data for changes

<img width="1179" height="2556" alt="Simulator Screenshot - iPhone 15
Pro - 2025-08-27 at 15 40 14"
src="https://github.com/user-attachments/assets/3433c197-a0b7-4151-ac60-f13f0f568797"
/>


## **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: Arthur Breton <[email protected]>
## **Description**

Market price should get replaced by funding cost in the
PerpsPositionDetailCard component:

## **Changelog**

CHANGELOG entry: Remove market price, and replace with funding cost in
PerpsPositionDetail card

## **Related issues**

Fixes: https://consensyssoftware.atlassian.net/browse/TAT-1352

## **Manual testing steps**

```gherkin
Feature: Funding cost

  Scenario: As a user I want to see the funding cost of my Perps position
    Given I have a position with a funding cost

    When user opens the perps position details page
    Then I should see the Funding cost in the position details card
```

## **Screenshots/Recordings**

<img width="423" height="410" alt="Screenshot 2025-08-27 at 4 18 31 PM"
src="https://github.com/user-attachments/assets/99fdb34f-be64-4072-ab43-bd4b6679e0f2"
/>

## **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.
<!--
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 adds a new component `MultichainPermissionSummary`, it is the
permission summary screen that supports bip44 accounts. Currently this
component has not been wired up and is only testable with storybook.

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

## **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: null

## **Related issues**

Related to:
https://consensyssoftware.atlassian.net/browse/MUL-669?atlOrigin=eyJpIjoiOWJmY2Q2NGUxZTIwNDA5MmExOGM0ZjJhZjlhMzUwZjgiLCJwIjoiaiJ9

## **Manual testing steps**

This component has not been wired up. The only way to test this is to
use storybook.

## **Screenshots/Recordings**

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

### **After**
<img width="1179" height="2556" alt="Simulator Screenshot - iPhone 15
Pro - 2025-08-25 at 22 34 57"
src="https://github.com/user-attachments/assets/519f7bca-19c8-425a-9b62-7bcbb3d22558"
/>
<img width="1179" height="2556" alt="Simulator Screenshot - iPhone 15
Pro - 2025-08-25 at 22 35 04"
src="https://github.com/user-attachments/assets/830524f9-8a03-4e0a-b176-cf79c2d26ef0"
/>


## **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.
<!--
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?
-->

[Should remove invalid header when protecting the
account](#18715 (comment))

## **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:

## **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] -->

#18715

### **After**

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



https://github.com/user-attachments/assets/bcde161b-e9b1-45a1-b49b-737f482c541a



https://github.com/user-attachments/assets/994f8acd-2364-4030-8d2e-7ec0d155b7ad



## **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.
<!--
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 adds support for displaying the AAVE token icon in the earning
workflow interface. The change specifically targets the ContractTag
component to show a custom AAVE icon when interacting with AAVE V3 pool
contracts.

**Key Changes**
- Added AAVE token icon import to the image icons registry
- Modified ContractTag component to conditionally display AAVE icon for
AAVE V3 pool contracts
- Implemented address-based detection to determine when to show the AAVE
icon

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

## **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: Update ContractTag component to displaying AAVE token
icon if the address argument is a AAVE contract address

## **Related issues**

#18707

## **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**
<img width="300" alt="image"
src="https://github.com/user-attachments/assets/578c7ca9-99ef-485c-9dd4-a097aca19d4a"
/>

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

### **After**
<img width="300" alt="aave"
src="https://github.com/user-attachments/assets/3188813a-7c37-42f2-bc23-70fae6e8ee3f"
/>


<!-- [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: Frederic HENG <[email protected]>
…twork (#18763)

## **Description**

This PR implements a comprehensive redesign of the Perps withdrawal
interface, addressing critical stability issues and enhancing user
experience through modern UI patterns and improved network handling.

**1. What is the reason for the change?**
- Poor UX: Outdated interface lacking modern input methods (numeric
keypad, percentage buttons) made amount entry cumbersome
- Incorrect messaging: Toast notifications displayed wrong currency (ETH
instead of USDC), confusing users about their withdrawals
- Technical debt: Hyperliquid network references remained in the
codebase despite migration to new infrastructure

**2. What is the improvement/solution?**
- Completely redesigned withdrawal UI with Tailwind CSS featuring large
amount display, percentage buttons (10%, 25%, 50%, Max), and integrated
numeric keypad
- Fixed toast notifications to correctly show USDC amounts and accurate
timing ("Processing withdrawal" → "Withdrawal successful - X USDC will
arrive within 5 minutes")
- Removed all Hyperliquid references, displaying "Perps Account" instead
for cleaner branding

## **Changelog**

CHANGELOG entry: Updated Perps withdrawal screen with new design, fixed
Arbitrum network validation crash, and improved withdrawal notifications
to show correct USDC amounts

## **Related issues**

Fixes:
- [TAT-1379](https://consensyssoftware.atlassian.net/browse/TAT-1379):
Remove Hyperliquid network from GNS
- [TAT-1396](https://consensyssoftware.atlassian.net/browse/TAT-1396):
USDC logo doesn't load in withdrawal screen
- [TAT-1397](https://consensyssoftware.atlassian.net/browse/TAT-1397):
Toast improvements for withdrawal notifications

## **Manual testing steps**

```gherkin
Feature: Perps Withdrawal Screen Update

  Scenario: User performs a withdrawal with new UI
    Given user is on the Perps main screen with a positive balance
    And Arbitrum network is either enabled or disabled initially
    
    When user taps on "Withdraw" button
    Then the new withdrawal screen appears with:
      - Large amount display at top
      - Available balance shown
      - Percentage buttons (10%, 25%, 50%, Max)
      - Numeric keypad for amount entry
      - USDC token display in receive section
      - Provider fee information
    
    When user enters an amount using the keypad or percentage buttons
    And taps "Withdraw"
    Then user is immediately navigated back to the previous screen
    And a toast appears saying "Processing withdrawal - This may take a few moments"
    And after withdrawal completes, a success toast appears saying "Withdrawal successful - X USDC will arrive within 5 minutes"

  Scenario: Arbitrum network auto-enablement
    Given user has Arbitrum network disabled
    
    When user enters the Perps environment
    Then Arbitrum network is automatically enabled
    And no crashes occur during deposit or withdrawal operations

  Scenario: Minimum amount validation
    Given user is on the withdrawal screen
    
    When user enters an amount below the minimum ($1.01)
    Then an error message appears: "Minimum withdrawal amount is $1.01"
    And the Continue button remains disabled
```

## **Screenshots/Recordings**

### **Before**
- Old withdrawal screen with Hyperliquid network display
- No percentage buttons or proper keypad
- Incorrect toast messages showing ETH instead of USDC
- App crashes when Arbitrum not enabled

### **After**
- New modern dark theme withdrawal UI matching design mockups
- Clean interface with amount display, percentage buttons, and
integrated keypad
- Proper USDC withdrawal toasts
- Arbitrum auto-enablement prevents crashes
- "Perps Account" shown instead of Hyperliquid


https://github.com/user-attachments/assets/846aba53-646b-49eb-9b34-958d661c9e54



## **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.

[TAT-1361]:
https://consensyssoftware.atlassian.net/browse/TAT-1361?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

[TAT-1379]:
https://consensyssoftware.atlassian.net/browse/TAT-1379?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
<!--
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**

Fix balance display and validation on amount page.

## **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:

## **Related issues**

Fixes: #18548

## **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**
<img width="401" height="842" alt="Screenshot 2025-08-27 at 5 56 16 PM"
src="https://github.com/user-attachments/assets/50f3a16d-37f4-472d-9c80-535b0f39085f"
/>

## **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.
## **Description**

This PR integrates the automated `RCA-needed` label removal workflow
from the [github-tools
repository](https://github.com/MetaMask/github-tools). The workflow
automatically removes the `RCA-needed` label from GitHub issues once a
Root Cause Analysis (RCA) has been submitted via Google Forms.

The solution consumes a **reusable workflow** from `github-tools` that:
- Reads RCA submissions from a Google Sheet
- Removes the label from matching issues
- Eliminates manual tracking and reduces noise in issue management

The workflow runs automatically every 6 hours and integrates with the
existing RCA process established in INFRA-2406 and INFRA-2510.

## **Changelog**

CHANGELOG entry: null

## **Related issues**

Fixes: INFRA-2864

## **Manual testing steps**

Since this is an automated GitHub Actions workflow that runs on a
schedule, traditional manual testing is not applicable. The workflow
behavior can be verified by:

```gherkin
Feature: Automated RCA label removal

  Scenario: Workflow processes issues with RCA submissions
    Given The workflow runs on its 6-hour schedule
    And There are closed issues with "RCA-needed" label
    And Some of these issues have RCA submissions in the Google Sheet

    When The workflow executes
    Then The Google Sheets API authentication succeeds
    And RCA responses are read from the configured sheet
    And Issues with matching RCA submissions have their labels removed
    And Issues without RCA submissions keep their labels
```

## **Screenshots/Recordings**

### **Before**
Manual process requiring team members to:
- Check Google Sheets for RCA submissions
- Find corresponding GitHub issues
- Manually remove `RCA-needed` labels

### **After**
Automated workflow that runs every 6 hours and removes labels
automatically.
- ✅ Successfully tested in fork repository: [Test Run
#1](https://github.com/consensys-test/metamask-extension-test-fork/actions/runs/17266390093)
and [Test Run
#2](https://github.com/consensys-test/metamask-extension-test-fork/actions/runs/17266424658)

## **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 (N/A - GitHub Actions workflow)
- [ ] I've documented my code using [JSDoc](https://jsdoc.app/) format
if applicable (N/A - YAML workflow)
- [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.

---

## **Implementation Details**

### **Files Changed**
This PR adds only one file:
- `.github/workflows/remove-rca-needed-label-sheets.yml` - Workflow
configuration that consumes the reusable workflow from github-tools

### **Workflow Configuration**
```yaml
name: Remove RCA-needed Label

on:
  schedule:
    - cron: '0 */6 * * *'  # Run every 6 hours

jobs:
  remove-rca-labels:
    name: Remove RCA-needed Labels
    uses: MetaMask/github-tools@d354252
    with:
      spreadsheet_id: '1Y16QEnDwZuR3DAQIe3T5LTWy1ye07GNYqxIei_cMg24'  # Update this for mobile repository
      sheet_name: 'Form Responses 1'
    secrets:
      github-token: ${{ secrets.GITHUB_TOKEN }}
      google-application-creds-base64: ${{ secrets.GCP_RLS_SHEET_ACCOUNT_BASE64 }}
```
<!--
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 implement new asset selectors in `asset` page in send flow.

## **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:

## **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**

- [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: Bernardo Garces Chapero <[email protected]>
<!--
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?
-->

Fixes a tiny bug on hook where we collect account group names for state2
multichain accounts.

## **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:

## **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**

- [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.
<!--
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 removes the possibility to conditionally run individual suites
to align with the Bitrise workflow.
Also adds the build step to the regression job.

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

## **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:

## **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.
## **Description**

We recently [updated our
`.gitignore`](https://github.com/MetaMask/metamask-mobile/pull/17773/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947)
which had a regression that added unit test coverage files to git.

<img width="502" height="181" alt="Screenshot 2025-08-27 at 14 37 50"
src="https://github.com/user-attachments/assets/a3ab3273-26eb-4434-9a21-1e222d3d3f2a"
/>


This adds back the ignore for unit test coverage files.

## **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: N/A

## **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**

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

## **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:

## **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.
<!--
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**
Adds cursor rules for E2E 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?
-->

## **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:

## **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.

---------

Co-authored-by: Javier Briones <[email protected]>
@weitingsun weitingsun requested review from a team as code owners September 22, 2025 20:31
@weitingsun weitingsun added skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. Run Smoke E2E Requires smoke E2E testing and removed release-7.54.0 Issue or pull request that will be included in release 7.54.0 labels Sep 22, 2025

This comment was marked as outdated.

@weitingsun weitingsun added Run Smoke E2E Requires smoke E2E testing and removed Run Smoke E2E Requires smoke E2E testing labels Sep 22, 2025
Copy link
Contributor

https://bitrise.io/ Bitrise

🔄🔄🔄 pr_smoke_e2e_pipeline started on Bitrise...🔄🔄🔄

Commit hash: 08c18eb
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d8135fef-e71f-478d-a19d-939d425b41d5

Note

  • This comment will auto-update when build completes
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

@metamaskbot
Copy link
Collaborator Author

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 08c18eb
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d8135fef-e71f-478d-a19d-939d425b41d5

Note

  • You can rerun any failed steps by opening the Bitrise build, tapping Rebuild on the upper right then Rebuild unsuccessful Workflows
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

2 similar comments
@metamaskbot
Copy link
Collaborator Author

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 08c18eb
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d8135fef-e71f-478d-a19d-939d425b41d5

Note

  • You can rerun any failed steps by opening the Bitrise build, tapping Rebuild on the upper right then Rebuild unsuccessful Workflows
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

@metamaskbot
Copy link
Collaborator Author

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 08c18eb
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d8135fef-e71f-478d-a19d-939d425b41d5

Note

  • You can rerun any failed steps by opening the Bitrise build, tapping Rebuild on the upper right then Rebuild unsuccessful Workflows
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

@weitingsun
Copy link
Contributor

run_tag_smoke_identity_ios is flaky on this branch

@weitingsun weitingsun merged commit 5a99ae1 into stable Sep 23, 2025
112 of 119 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Sep 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
release-7.55.0 Issue or pull request that will be included in release 7.55.0 Run Smoke E2E Requires smoke E2E testing size-XL skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.