Skip to content

Conversation

@runway-github
Copy link
Contributor

@runway-github runway-github bot commented Nov 27, 2025

Description

Resolve node-forge to ^1.3.2 in order to pass the audit.

DO NOT MERGE unless someone with security privileges clears it.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: null

Related issues

Fixes:

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

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

Note

Adds a safe click helper for the backup reminder and updates affected e2e tests to use it post-onboarding.

  • E2E:
    • Page Object (test/e2e/page-objects/pages/home/homepage.ts): Add clickBackupRemindMeLaterButtonSafe using driver.clickElementSafe.
    • Tests:
      • Update test/e2e/tests/account/incremental-security.spec.ts to use clickBackupRemindMeLaterButtonSafe after onboarding.
      • Update test/e2e/tests/settings/change-password.spec.ts to use clickBackupRemindMeLaterButtonSafe after onboarding.

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


Co-authored-by: Mark Stacey [email protected] 54fd624

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

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

Resolve `node-forge` to ^1.3.2 in order to pass the audit.

DO NOT MERGE unless someone with security privileges clears it.

[![Open in GitHub
Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/38348?quickstart=1)

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

Fixes:

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

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

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

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

- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/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-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.

- [ ] 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 node-forge to 1.3.2 and stabilizes E2E by adding/using a safe
handler for the backup reminder modal.
>
> - **Dependencies**:
>   - Bump `node-forge` to `1.3.2` in `yarn.lock`.
> - **Tests (E2E)**:
> - `test/e2e/page-objects/pages/home/homepage.ts`: add
`clickBackupRemindMeLaterButtonSafe` using `clickElementSafe`.
> - Use the safe backup reminder handler in
`tests/account/incremental-security.spec.ts` and
`tests/settings/change-password.spec.ts` to proceed past the reminder.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
846d2a1. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Mark Stacey <[email protected]>
@runway-github runway-github bot requested a review from a team as a code owner November 27, 2025 17:23
@github-actions
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added the team-bots Bot team (for MetaMask Bot, Runway Bot, etc.) label Nov 27, 2025
Copy link
Member

@seaona seaona left a comment

Choose a reason for hiding this comment

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

LGTM

@metamaskbot
Copy link
Collaborator

✨ Files requiring CODEOWNER review ✨

🧪 @MetaMask/qa (1 files, +4 -0)
  • 📁 test/
    • 📁 e2e/
      • 📁 page-objects/
        • 📁 pages/
          • 📁 home/
            • 📄 homepage.ts +4 -0

@gauthierpetetin
Copy link
Contributor

Note for myself:

The conflict we had to resolve to create this cherry-pick PR are due to the fact this PR was merged to main after release 13.11.0 was cut.

@metamaskbot
Copy link
Collaborator

Builds ready [17f5b4a]
UI Startup Metrics (1293 ± 109 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyStandard HomeuiStartup12931135162410913481501
load105691413059211071241
domContentLoaded105091113009111011233
domInteractive261499202080
firstPaint59586127042310421222
backgroundConnect21819727812222242
firstReactRender3723150143957
getState5520125196397
initialActions106113
loadScripts8396981063918911010
setupStore1363761525
numNetworkReqs41281443331141
BrowserifyPower User HomeuiStartup18471587252816519582121
load98387718021549661377
domContentLoaded96887017961549501364
domInteractive34161713330131
firstPaint5338918133799081297
backgroundConnect21920324710226240
firstReactRender81391432292127
getState17213127129189221
initialActions109113
loadScripts76666515921547451161
setupStore21983122444
numNetworkReqs1446830454178271
WebpackStandard HomeuiStartup8757851303998881122
load64058496978641843
domContentLoaded63557296277636836
domInteractive261594192279
firstPaint233106714146230617
backgroundConnect1264091133
firstReactRender43201912941114
getState5517136247198
initialActions104113
loadScripts63257094975634826
setupStore18573132045
numNetworkReqs41281483330142
WebpackPower User HomeuiStartup14271211204114815341687
load6715861265111668943
domContentLoaded6605791258111653934
domInteractive35172153431133
firstPaint2931041277203283680
backgroundConnect1573141723
firstReactRender80421131588100
getState15012521115158178
initialActions103112
loadScripts6575771248109651926
setupStore201049102340
numNetworkReqs1546730654187295
FirefoxBrowserifyStandard HomeuiStartup13211177178212113491607
load104094712638110751224
domContentLoaded103994712638110751223
domInteractive60302314181137
firstPaint------
backgroundConnect49253133450112
firstReactRender24185982646
getState21106882234
initialActions103122
loadScripts101992712347710531201
setupStore218178201957
numNetworkReqs39281252633117
BrowserifyPower User HomeuiStartup24091954309423225522810
load1118928162115911311425
domContentLoaded1117928162115911311425
domInteractive12030550105110403
firstPaint------
backgroundConnect1063347267121197
firstReactRender79361492191123
getState29358856233427807
initialActions218127
loadScripts1084900159715511001402
setupStore13310831176118583
numNetworkReqs915120137116164
WebpackStandard HomeuiStartup14971338214413415441802
load12271104161610012731423
domContentLoaded12261104161610012731422
domInteractive62272064280179
firstPaint------
backgroundConnect4918159215888
firstReactRender30207173442
getState2110192192137
initialActions203122
loadScripts1204109015439312511385
setupStore217104151954
numNetworkReqs39281262534116
WebpackPower User HomeuiStartup26522095357330227533260
load13791098193520815501780
domContentLoaded13781097193520815501780
domInteractive12128715132104405
firstPaint------
backgroundConnect1082355588126262
firstReactRender80372252689126
getState29277910232462810
initialActions3143537
loadScripts13351082189520414801755
setupStore91572814582565
numNetworkReqs906018635111162
📊 Page Load Benchmark Results

Current Commit: 17f5b4a | Date: 11/27/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±71ms) 🟡 | historical mean value: 1.04s ⬆️ (historical data)
  • domContentLoaded-> current mean value: 738ms (±70ms) 🟢 | historical mean value: 725ms ⬆️ (historical data)
  • firstContentfulPaint-> current mean value: 75ms (±10ms) 🟢 | historical mean value: 78ms ⬇️ (historical data)

📈 Detailed Results

Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 71ms 1.00s 1.34s 1.27s 1.34s
domContentLoaded 738ms 70ms 695ms 1.01s 949ms 1.01s
firstPaint 75ms 10ms 60ms 156ms 88ms 156ms
firstContentfulPaint 75ms 10ms 60ms 156ms 88ms 156ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

@gauthierpetetin gauthierpetetin merged commit f907593 into release/13.11.0 Nov 27, 2025
178 of 179 checks passed
@gauthierpetetin gauthierpetetin deleted the cherry-pick-13-11-0-54fd624 branch November 27, 2025 18:01
@github-actions github-actions bot locked and limited conversation to collaborators Nov 27, 2025
@metamaskbot metamaskbot added the release-13.11.0 Issue or pull request that will be included in release 13.11.0 label Nov 27, 2025
@metamaskbot
Copy link
Collaborator

No release label on PR. Adding release label release-13.11.0 on PR, as PR was cherry-picked in branch 13.11.0.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-13.11.0 Issue or pull request that will be included in release 13.11.0 team-bots Bot team (for MetaMask Bot, Runway Bot, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants