[pull] main from MetaMask:main#439
Merged
Merged
Conversation
<!-- 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? --> ## Problem E2E CI workflows were intermittently taking 60+ minutes to complete environment setup, causing significant delays in CI pipeline execution. Root causes identified: 1. **CocoaPods specs download (iOS)**: `pod install --repo-update` downloading ~500MB specs repository (40+ minutes) 2. **Yarn package fetching**: Re-fetching packages despite cache hits due to `enableGlobalCache: false` in `.yarnrc.yml` (12+ minutes) 3. **Slow cache extraction**: GitHub Actions cache extraction intermittently taking 20+ minutes (vs. normal seconds) due to cache service performance variability **Example**: [Setup taking 1h 23m](https://github.com/MetaMask/metamask-mobile/actions/runs/20769698711/job/59643604833) ## Solution 1. **Enable Yarn global cache** - Added `YARN_ENABLE_GLOBAL_CACHE: 'true'` environment variable to E2E workflow jobs. This provides a fallback mechanism when `node_modules` cache extraction is slow, allowing Yarn to fetch packages efficiently from its global cache instead. 2. **Add CocoaPods specs caching** - Implemented in `setup-e2e-env@v1` action (github-tools) 3. **Add timeout protection** - 15-minute timeout on setup steps for fail-fast behavior, preventing long hangs and wasted runner time ## Results - **After**: ~2 minutes (warm cache), ~10 minutes (cold cache) - **Improvement**: 97% reduction in worst-case scenario **Example**: [Setup now taking ~2 minutes](https://github.com/MetaMask/metamask-mobile/actions/runs/20809131871?pr=24288) **Example** [fail-fast](https://github.com/MetaMask/metamask-mobile/actions/runs/20809131871/job/59770387516?pr=24288) ## Files Changed - `.github/workflows/build-ios-e2e.yml` - `.github/workflows/build-android-e2e.yml` - `.github/workflows/run-e2e-workflow.yml` ## **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 - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] 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] > Speeds up and hardens mobile E2E CI setup across Android/iOS workflows. > > - Enables Yarn global cache via `YARN_ENABLE_GLOBAL_CACHE: 'true'` in `build-android-e2e.yml`, `build-ios-e2e.yml`, and `run-e2e-workflow.yml` for faster installs when caches are slow > - Bumps `MetaMask/github-tools` `setup-e2e-env` action from `v1` to `v1.4.0` and adds `timeout-minutes: 15` to fail fast during environment setup in all workflows > - No test logic changes; only CI workflow updates (environment config and action version) > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4f4c89d. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
<!-- 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 the ScreenshotDeterrent to the login screen page. <!-- 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 ScreenshotDeterrent to the login page to prevent screenshots and recordings on the page. ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MUL-1365?atlOrigin=eyJpIjoiMGYwNjZkNWQ5MDFkNGI3MmEzN2UwMmNmODNiNGVhN2UiLCJwIjoiaiJ9 ## **Manual testing steps** ```gherkin Feature: Screenshot deterrent Scenario: user starts a recording Given user is at the login screen When user tries to enter the password Then watches the recording, the screen is black. ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> https://github.com/user-attachments/assets/df2b6ce8-2753-47f6-b9d3-b66e5c8c06c0 ## **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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Integrates screenshot/recording protection on the login screen. > > - Imports and renders `ScreenshotDeterrent` in `app/components/Views/Login/index.tsx` with `enabled` and `isSRP={false}` > - Updates test suites (`index.test.tsx`, `index2.test.tsx`) to mock `../../UI/ScreenshotDeterrent` to avoid UI side effects during tests > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit d3faada. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
## **Description** Switches Android E2E builds from XL runner (96GB) to LG runner (48GB) with memory-safe settings. **This is the final step** in a series of incremental optimizations for INFRA-3174: 1. [PR #24142](#24142): Skip AAB generation for E2E builds 2. [PR #24237](#24237): Add JVM flags and verbose logging for E2E builds 3. **This PR**: Switch to LG runner with memory-safe settings **Root cause**: Metro bundler was spawning ~12 workers (each using ~3GB), causing OOM kills when combined with Gradle and Kotlin daemons on the 48GB runner. **Solution**: - Add `METRO_MAX_WORKERS` env var support to limit Metro workers in CI - Reduce Gradle heap, workers, and Node.js memory to fit within 48GB budget **Evidence**: [Successful cold build on LG runner (PR #24286) - 20m 35s](https://github.com/MetaMask/metamask-mobile/actions/runs/20784707136/job/59691034739?pr=24286) ## **Changelog** CHANGELOG entry: null ## **Related issues** Fixes: INFRA-3174 ## **Manual testing steps** ```gherkin Feature: Android E2E APK Build on LG runner Scenario: Build completes without OOM Given CI triggers Android E2E build on LG runner (48GB) When build runs with METRO_MAX_WORKERS=4 Then build completes successfully without OOM kill ``` ## **Screenshots/Recordings** ### **Before** OOM kill from dmesg: ``` [Wed Jan 7 14:14:02 2026] Out of memory: Killed process 6208 (java) total-vm:18745004kB, anon-rss:5690452kB ``` ### **After** Build completes successfully (~20 min), cache saved. ## **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 - [ ] 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**
Updates the README.md to reflect the correct yarn version (v4) in the
Expo Environment Setup section. This was missed during the migration
from yarn v3 to v4.
<!--
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**
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]
> Updates documentation to require `yarn v4` in the Expo environment
setup.
>
> - Changes README instruction from `yarn v3` to `yarn v4` under `Expo
Environment Setup`
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4f7b416. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
…orkflows (#24324) <!-- 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? --> Revert action references from `@v1.4.0` to `@v1` to follow GitHub Actions best practices for automatic minor/patch version updates. ## Why The `@v1` tag in the github-tools repo automatically references the latest v1.x.x release, so we'll automatically get `v1.4.0` (and future v1.x.x updates) without needing to manually update version numbers. ## Changes - Update all `setup-e2e-env` action references from `@v1.4.0` → `@v1` ## Related - Follow-up to #24288 which introduced the v1.4.0 reference ## **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). - [x] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] 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] > Aligns E2E CI workflows to the floating `v1` tag for `setup-e2e-env`, enabling automatic minor/patch updates. > > - Switches `@v1.4.0` → `@v1` in `build-android-e2e.yml`, `build-ios-e2e.yml`, and `run-e2e-workflow.yml` > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5798fe6. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
## **Description** There was an inconsistency with the recent activity on the PerpsActivityView, where we weren't displaying recent activity outside of a given time constraint. So, if you previously traded an asset, but it was a long time ago, we wouldn't show that data to the user. ## **Changelog** CHANGELOG entry: Add hybrid REST/websocket approach to building recent activity ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/TAT-2221 ## **Manual testing steps** Replicate the bug from the ticket by going to a asset pair that was traded a long time ago, but not within the previous week. We should still see the previous trades even if it's outside of this window. ## **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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces a hybrid data path for perps recent activity by combining WebSocket live fills with REST-backed historical fills and updates consumers accordingly. > > - Adds `usePerpsMarketFills` hook to merge live fills (`usePerpsLiveFills`) with REST results (`getOrderFills`) using a 3‑month lookback (`PERPS_CONSTANTS.FILLS_LOOKBACK_MS`), with deduping, sorting, refresh, and symbol filtering > - Switches `PerpsMarketTradesList` to `usePerpsMarketFills`, simplifying client-side filtering/sorting and retaining the 3-item limit via `RECENT_ACTIVITY_LIMIT` > - Updates `HyperLiquidProvider.getOrderFills` to call `userFillsByTime` when `startTime` is provided; falls back to `userFills` otherwise > - Adds comprehensive tests for the new hook, provider behavior, and updated trades list; minor test mocks added to market details view > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 14793b7. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
## **Description** When users navigated to the Activity View and subsequently accessed the Perps tab, the PerpsContext would mount. Upon attempting to navigate away from the Perps tab, the Activity View became unresponsive—in some cases causing the application to freeze entirely and leading to a crash. This PR introduces a conditional mounting guard that ensures the PerpsContext is only mounted when the Perps tab is actively selected, preventing unnecessary context initialization and the associated performance degradation. ## **Changelog** CHANGELOG entry: Add conditional mounting to perps tab in Activity View ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/TAT-2212 ## **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/cb20323c-927b-4560-be1c-a99162fe5622 ## **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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Prevents background perps polling and freezes by only mounting Perps context/providers when the Perps tab is active. > > - In `ActivityView/index.js`, wrap `PerpsConnectionProvider`/`PerpsStreamProvider`/`PerpsTransactionsView` in a conditional using `isPerpsTabActive` so they render only when the Perps tab is selected > - Adds an inline comment clarifying the intent; no other functional changes > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 34aeba5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
## **Description** - Update back button to close button - Update copy - Add bottom margin to title ## **Changelog** CHANGELOG entry:null ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MDP-315 ## **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** | before | after | | -------- | ------- | |  |  | ### **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** - [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. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Improves Share Address QR bottom sheet UI and copy. > > - Replaces `onBack`/`backButtonProps` with `onClose`/`closeButtonProps` in `ShareAddressQR`, keeping `GO_BACK` testID; adds `CLOSE_BUTTON` to e2e selectors > - Updates `QRAccountDisplay` label styling with `mb-4` and updates snapshot > - Changes copy in `en.json` to `"Use this to receive assets on"` and renders description including `networkName` > - Extends tests to verify new description copy across networks and preserves QR rendering/behavior > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 173db12. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
<!--
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 a missing var on repack Android builds. This hasn't been an issue
on iOS since the iOS build workflow sets the env on an upper level where
this var is present.
<!--
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.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Enables pooled staking in Android E2E artifacts by setting the
required env flag during both build and repack.
>
> - Adds `MM_POOLED_STAKING_ENABLED: 'true'` to the env of `Build
Android E2E APKs` and `Repack APK with JS updates` in
`.github/workflows/build-android-e2e.yml`
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
2373562. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )