Skip to content

[pull] main from MetaMask:main#623

Merged
pull[bot] merged 1 commit into
Reality2byte:mainfrom
MetaMask:main
Mar 24, 2026
Merged

[pull] main from MetaMask:main#623
pull[bot] merged 1 commit into
Reality2byte:mainfrom
MetaMask:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Mar 24, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

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

A stuck “loading tokens” screen in the onramp-unified-buy E2E test was
resolved by correcting RAMPS_COUNTRIES_RESPONSE to use supported instead
of support, aligning with what ramps-controller’s
`RampsService.getCountries()` filters on. The incorrect key caused all
countries to be silently dropped, which prevented
`RampsController.init()` from completing and left tokens stuck loading.

Two Detox synchronization issues caused by animations were also
resolved. The first involved a blinking cursor on the amount page
(useNativeDriver: true loop), and the second involved the <Cursor>
component and a 60-second cooldown timer on the OTP page (recurring
setInterval/setTimeout chains). Both are now gated behind isE2E in
`app/util/test/utils.js`

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


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Primarily test/mocking changes plus E2E-only gating of UI
animations/timers; low production risk, but could affect OTP resend UX
if `isE2E` is mis-set in non-test builds.
> 
> **Overview**
> Fixes Ramp Unified Buy E2E stability by **aligning mocked countries
responses with the actual client contracts**: `/v2/regions/countries`
now uses `supported`, while legacy aggregator and native deposit flows
get their own country payload shapes, selected dynamically in
`RAMPS_CATALOG_MOCKS`.
> 
> Improves Detox reliability by **disabling non-idle animations/timers
in E2E builds** (OTP resend countdown timer, OTP `Cursor`, and the ramp
amount blinking cursor).
> 
> Updates ramp E2E specs/fixtures accordingly (region-aware mocks for
sell deeplink regression, fiat string formatting in unified buy smoke)
and re-enables the previously skipped `onramp-unified-buy` smoke suite.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
c946c46. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@pull pull Bot locked and limited conversation to collaborators Mar 24, 2026
@pull pull Bot added the ⤵️ pull label Mar 24, 2026
@pull pull Bot merged commit b14624d into Reality2byte:main Mar 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant