Skip to content

Conversation

@seaona
Copy link
Member

@seaona seaona commented Oct 3, 2025

Description

This PR implements a localserver for the snap-simple-keyring-site instead of going to the live site, in our e2e, to avoid flakiness. This implies the following:

  • Removing all related live requests from the allowlist
  • Adding the snap-simple-keyring-site as an npm package -> this causes updates in our dependencies, lavamoat
    • This needs to be added to ignore the lavamoat error in our e2e
    • Lint needs to be fixed
  • Updating the snap simple keyring binaries, as the version was updated to 2.0.0 . The changes are just the result of running this yarn update-snap-binary --snap-simple-keyring@2.0.0
  • Usage in our e2e:
await withFixtures(
      {
        dapp: true,
        dappPaths: ['snap-simple-keyring-site'],
        ...
  • I couldn't go to localhost directly, as localhost is not in the allowlist for that snap. So the final approach , suggested by @FrederikBolding , is to proxy the localhost, so we still see the origin as metamask.github so then we don't get errors, and we avoid adding localhost in the allowlist (this was a small security concern). Context: https://consensys.slack.com/archives/GN3SR3GNM/p1759489395046839
image

PRs on the snap-simple-keyring-site for reference:

MetaMask/snap-simple-keyring#163
MetaMask/snap-simple-keyring#166
MetaMask/snap-simple-keyring#168

Open in GitHub Codespaces

Changelog

CHANGELOG entry:

Related issues

Fixes:

Manual testing steps

  1. Tests should continue to work without going to the snap live site

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

Switches e2e to a locally served snap-simple-keyring site via proxy, updates tests/helpers, removes live allowlisted URLs, adds the site package, and adjusts LavaMoat/webpack policies with minor UI/type fixes.

  • E2E/Testing:
    • Add local serving of @metamask/snap-simple-keyring-site (helpers.js), with dappPaths support and site-specific path resolution.
    • Introduce tests/account/snap-keyring-site-mocks.ts to proxy metamask.github.io to localhost.
    • Replace mockSimpleKeyringSnap with mockSnapSimpleKeyringAndSite; update tests to pass dapp: true and dappPaths: ['snap-simple-keyring-site'] (and with test-dapp where needed).
    • Remove live site URLs from test/e2e/mock-e2e-allowlist.js.
    • Update snap binary headers for snap-simple-keyring@2.0.0.
  • Deps/Config:
    • Add @metamask/snap-simple-keyring-site to package.json and .depcheckrc.yml.
    • Large yarn.lock refresh due to new dependency tree (MUI, Emotion, styled-components, etc.).
  • LavaMoat/Policies:
    • Adjust Browserify/Webpack policies (e.g., @material-ui/...>clsx path, @popperjs/core globals incl. navigator.userAgentData, browserslist mappings, Babel traverse entries).
    • Update build-system policy package mappings and globals.
  • Build/Webpack:
    • Allow devicePixelRatio in LavaMoat scuttle exceptions and plugin test globals.
  • UI/Types:
    • Wrap details in general-alert with a fragment; cast helpText in form-text-field.
    • Minor test typing updates (ReactNodeLike).

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

@seaona seaona self-assigned this Oct 3, 2025
@seaona seaona added flaky tests skip-e2e-quality-gate no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed e2e-maintenance labels Oct 3, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Oct 3, 2025

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-qa QA team label Oct 3, 2025
@github-actions github-actions bot added the size-S label Oct 3, 2025
@metamaskbot
Copy link
Collaborator

metamaskbot commented Oct 3, 2025

✨ Files requiring CODEOWNER review ✨

🔑 @MetaMask/accounts-engineers (3 files, +14 -5)
  • 📁 test/
    • 📁 e2e/
      • 📁 tests/
        • 📁 multichain-accounts/
          • 📄 common.ts +6 -1
          • 📄 multichain-account-list-menu.spec.ts +4 -2
          • 📄 multichain-account-list-page.spec.ts +4 -2

@MetaMask/confirmations (1 files, +3 -2)
  • 📁 ui/
    • 📁 pages/
      • 📁 confirmations/
        • 📁 hooks/
          • 📁 alerts/
            • 📁 transactions/
              • 📄 useGasFeeLowAlerts.test.tsx +3 -2

🫰 @MetaMask/core-platform (3 files, +2 -2)
  • 📁 test/
    • 📁 e2e/
      • 📁 mock-response-data/
        • 📁 snaps/
          • 📁 snap-binaries-and-headers/
            • 📄 snap-simple-keyring-snap@1.1.6.txt
            • 📄 snap-simple-keyring-snap@2.0.0-headers.json +2 -2
            • 📄 snap-simple-keyring-snap@2.0.0.txt

🎨 @MetaMask/design-system-engineers (1 files, +2 -1)
  • 📁 ui/
    • 📁 components/
      • 📁 component-library/
        • 📁 form-text-field/
          • 📄 form-text-field.tsx +2 -1

🧩 @MetaMask/extension-devs (6 files, +50 -41)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +3 -4
      • 📁 experimental/
        • 📄 policy.json +3 -4
      • 📁 flask/
        • 📄 policy.json +3 -4
      • 📁 main/
        • 📄 policy.json +3 -4
    • 📁 build-system/
      • 📄 policy.json +36 -22
    • 📁 webpack/
      • 📄 policy.json +2 -3

📜 @MetaMask/policy-reviewers (6 files, +50 -41)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +3 -4
      • 📁 experimental/
        • 📄 policy.json +3 -4
      • 📁 flask/
        • 📄 policy.json +3 -4
      • 📁 main/
        • 📄 policy.json +3 -4
    • 📁 build-system/
      • 📄 policy.json +36 -22
    • 📁 webpack/
      • 📄 policy.json +2 -3

Tip

Follow the policy review process outlined in the LavaMoat Policy Review Process doc before expecting an approval from Policy Reviewers.


🧪 @MetaMask/qa (2 files, +47 -20)
  • 📁 test/
    • 📁 e2e/
      • 📄 helpers.js +47 -11
      • 📄 mock-e2e-allowlist.js +0 -9

🔗 @MetaMask/supply-chain (6 files, +50 -41)
  • 📁 lavamoat/
    • 📁 browserify/
      • 📁 beta/
        • 📄 policy.json +3 -4
      • 📁 experimental/
        • 📄 policy.json +3 -4
      • 📁 flask/
        • 📄 policy.json +3 -4
      • 📁 main/
        • 📄 policy.json +3 -4
    • 📁 build-system/
      • 📄 policy.json +36 -22
    • 📁 webpack/
      • 📄 policy.json +2 -3

@socket-security
Copy link

socket-security bot commented Oct 3, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​mui/​core-downloads-tracker@​5.18.01001004299100
Updatednode-releases@​2.0.18 ⏵ 2.0.211001004487 -2100
Added@​emotion/​memoize@​0.9.01001006182100
Updated@​babel/​plugin-syntax-jsx@​7.25.9 ⏵ 7.27.11001006589100
Updated@​babel/​helper-annotate-as-pure@​7.25.9 ⏵ 7.27.31001006589100
Updated@​emotion/​use-insertion-effect-with-fallbacks@​1.0.1 ⏵ 1.2.0100 +110066 +282100
Added@​emotion/​utils@​1.4.21001006783100
Addedjson-rpc-middleware-stream@​4.2.3971006881100
Added@​mui/​types@​7.2.241001006896100
Added@​types/​react-helmet@​6.1.111001007078100
Added@​emotion/​serialize@​1.3.31001007083100
Added@​mui/​private-theming@​5.17.1991007098100
Updated@​types/​prop-types@​15.7.3 ⏵ 15.7.1510010071 +279100
Added@​emotion/​unitless@​0.7.51001007182100
Updated@​babel/​helper-plugin-utils@​7.25.9 ⏵ 7.27.11001007189 -1100
Added@​mui/​styled-engine@​5.18.0991007498100
Added@​emotion/​is-prop-valid@​1.4.01001007485100
Updated@​types/​react-transition-group@​4.4.6 ⏵ 4.4.121001007479100
Updated@​types/​estree@​1.0.7 ⏵ 1.0.81001007579100
Added@​mui/​utils@​5.17.1991007598100
Updated@​babel/​helper-module-imports@​7.25.9 ⏵ 7.27.11001007589100
Updatedupdate-browserslist-db@​1.1.1 ⏵ 1.1.31001007579100
Addedacorn-import-phases@​1.0.41001007681100
Updatedcaniuse-lite@​1.0.30001731 ⏵ 1.0.30001747100 +110076 +197 +2100
Added@​emotion/​weak-memoize@​0.4.01001007682100
Added@​babel/​helper-globals@​7.28.01001007686100
Addedcss-color-keywords@​1.0.01001008277100
Addedfind-root@​1.1.01001008977100
Addedshallowequal@​1.1.01001008777100
Addedcamelize@​1.0.11001009477100
Addedbabel-plugin-macros@​3.1.010010010078100
Addedreact-side-effect@​2.1.210010010080100
Updated@​popperjs/​core@​2.9.2 ⏵ 2.11.8100 +110010080100
See 26 more rows in the dashboard

View full report

@socket-security
Copy link

socket-security bot commented Oct 3, 2025

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

Ignoring alerts on:

  • babel-plugin-macros@3.1.0
  • find-root@1.1.0
  • stylis@4.2.0
  • @emotion/stylis@0.8.5
  • @emotion/unitless@0.7.5
  • css-to-react-native@3.2.0
  • shallowequal@1.1.0
  • camelize@1.0.1
  • css-color-keywords@1.0.0
  • babel-plugin-styled-components@2.1.4
  • @metamask/safe-event-emitter@2.0.0
  • @metamask/providers@13.1.0
  • extension-port-stream@2.1.1
  • json-rpc-middleware-stream@4.2.3
  • webextension-polyfill@0.10.0
  • json-rpc-engine@6.1.0
  • react-helmet@6.1.0
  • react-side-effect@2.1.2
  • styled-components@5.3.9
  • @metamask/object-multiplex@1.3.0
  • react-icons@4.12.0
  • @types/react-helmet@6.1.11
  • @metamask/json-rpc-engine@7.3.3
  • @emotion/hash@0.9.2
  • @emotion/weak-memoize@0.4.0
  • @emotion/memoize@0.9.0
  • @emotion/sheet@1.4.0
  • @emotion/unitless@0.10.0
  • @metamask/keyring-api@8.1.3
  • @metamask/rpc-errors@6.4.0
  • @emotion/babel-plugin@11.13.5
  • @emotion/serialize@1.3.3
  • @emotion/utils@1.4.2
  • @emotion/react@11.14.0
  • @emotion/cache@11.14.0
  • @mui/types@7.2.24
  • @mui/utils@5.17.1
  • @mui/private-theming@5.17.1
  • @emotion/styled@11.14.1
  • @babel/helper-globals@7.28.0
  • @mui/core-downloads-tracker@5.18.0
  • @mui/icons-material@5.18.0
  • @mui/material@5.18.0
  • @mui/system@5.18.0
  • @mui/styled-engine@5.18.0
  • acorn-import-phases@1.0.4
  • @emotion/is-prop-valid@1.4.0
  • @babel/traverse@7.28.4
  • baseline-browser-mapping@2.8.10
  • @metamask/snap-simple-keyring-site@2.0.0
  • react-fast-compare@3.2.2
  • @popperjs/core@2.11.8
  • csstype@3.1.3
  • @emotion/use-insertion-effect-with-fallbacks@1.2.0
  • @types/react-transition-group@4.4.12
  • update-browserslist-db@1.1.3
  • @babel/helper-plugin-utils@7.27.1
  • @babel/helper-module-imports@7.27.1
  • @babel/plugin-syntax-jsx@7.27.1
  • watchpack@2.4.4
  • @babel/helper-annotate-as-pure@7.27.3
  • @types/estree@1.0.8
  • acorn@8.15.0
  • @types/prop-types@15.7.15
  • webpack-sources@3.3.3
  • enhanced-resolve@5.18.3
  • @jridgewell/trace-mapping@0.3.31
  • node-releases@2.0.21
  • webpack@5.102.0
  • browserslist@4.26.3
  • react-is@18.3.1
  • react-is@19.2.0
  • tapable@2.3.0
  • electron-to-chromium@1.5.229
  • caniuse-lite@1.0.30001747

View full report

'https://metamask.github.io/snap-simple-keyring/1.1.6/framework-fe667a09be4a08a9b5f4.js',
'https://metamask.github.io/snap-simple-keyring/1.1.6/page-data/app-data.json',
'https://metamask.github.io/snap-simple-keyring/1.1.6/page-data/index/page-data.json',
'https://metamask.github.io/snap-simple-keyring/1.1.6/webpack-runtime-f26b9ef4aabef2136bf7.js',
Copy link
Member Author

Choose a reason for hiding this comment

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

less live requests in our e2e, yay! 🎉

Copy link
Member Author

@seaona seaona Oct 3, 2025

Choose a reason for hiding this comment

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

ℹ️ the snap file binary changes are just the result of updating the snap package, by running this command: yarn update-snap-binary --snap-simple-keyring-snap@2.0.0

export async function installSnapSimpleKeyring(
driver: Driver,
isSyncFlow: boolean = true,
port: number = 8080,
Copy link
Member Author

Choose a reason for hiding this comment

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

ℹ️ we add this new param, to avoid port collisions in the case we need to use both the test dapp and the snap simple keyring page

"@metamask/foundryup": "^1.0.1",
"@metamask/phishing-warning": "^5.0.1",
"@metamask/preferences-controller": "^19.0.0",
"@metamask/snap-simple-keyring-site": "^2.0.0",
Copy link
Member Author

Choose a reason for hiding this comment

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

ℹ️ we can now use the npm package

MetaMask/snap-simple-keyring#163

Copy link
Member Author

Choose a reason for hiding this comment

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

@MetaMask/policy-reviewers I'm adding this new dev dependency which is our snap simple keyring site, so we can use it in our e2e. That pulls in UI libs (MUI, Popper, Emotion/styled-components), which trigger policy entries.

  • devicePixelRatio global (runtime): Needed for UI layout calculations
  • navigator.userAgentData (runtime overrides): Used for modern UA feature checks by positioning libs

@seaona seaona changed the title test: add snap-simple-keyring-site as a local server test: add snap-simple-keyring-site as a local server and remove live requests to the site Oct 3, 2025
FrederikBolding pushed a commit to MetaMask/snaps-registry that referenced this pull request Oct 3, 2025
<!--
Thanks for your contribution! Take a moment to answer these questions so
that reviewers have the information they need to properly understand
your changes:

* What is the current state of things and why does it need to change?
* What is the solution your changes offer and how does it work?

Are there any issues or other links reviewers should consult to
understand this pull request better? For instance:

* Fixes #12345
* See: #67890
-->
Context:

The update to 2.0.0 doesn't change anything on the snap-simple-keyring.
It's a major update, because we have made the snap-simple-keyring-site
publishable, in order to use it in our e2e as a local server.

See more here:
- MetaMask/snap-simple-keyring#163
- MetaMask/metamask-extension#36557
@github-actions github-actions bot added size-M and removed size-S labels Oct 3, 2025
@seaona
Copy link
Member Author

seaona commented Oct 3, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

Policies updated.
👀 Please review the diff for suspicious new powers.

🧠 Learn how: https://lavamoat.github.io/guides/policy-diff/#what-to-look-for-when-reviewing-a-policy-diff

@metamaskbot
Copy link
Collaborator

❌ test-e2e-chrome-api-specs failed. View the html report here.

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: 2ae9ae5 | Date: 10/3/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 1.05s (±72ms) 🟡 | historical mean value: 1.06s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 735ms (±69ms) 🟢 | historical mean value: 741ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 77ms (±14ms) 🟢 | historical mean value: 81ms ⬇️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 1.05s 72ms 1.01s 1.34s 1.29s 1.34s
domContentLoaded 735ms 69ms 700ms 1.00s 944ms 1.00s
firstPaint 77ms 14ms 60ms 204ms 84ms 204ms
firstContentfulPaint 77ms 14ms 60ms 204ms 84ms 204ms
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [2ae9ae5]
UI Startup Metrics (1243 ± 72 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1243110714147212921362
load107396512016311191193
domContentLoaded106596011976411081187
domInteractive18136381733
firstPaint603142119942810651139
backgroundConnect25523933512257273
firstReactRender24166582542
getState1258691224
initialActions50729614
loadScripts81871694462851940
setupStore96314915
WebpackHomeuiStartup20251431263528622382493
load16211133204222117501981
domContentLoaded16141128203121917411962
domInteractive191296161558
firstPaint1706635967199316
backgroundConnect271676103045
firstReactRender96383397687326
getState234294531462
initialActions62224618
loadScripts16101124202021817371951
setupStore195281411426
FirefoxBrowserifyHomeuiStartup14151206184211614831625
load1216105113898212911354
domContentLoaded1216105113898212911354
domInteractive1043539354115223
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3319150223377
firstReactRender29247483044
getState10316820648
initialActions5115816310
loadScripts1190102613728312651332
setupStore105559829
WebpackHomeuiStartup15901408200614816991880
load13541181170113214301614
domContentLoaded13531181170013214301613
domInteractive1093534264106313
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect31206983745
firstReactRender38325144144
getState63192611
initialActions3115235
loadScripts13311153168113214101590
setupStore10613713916
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 54 Bytes (0%)
  • ui: 612 Bytes (0.01%)
  • common: 72 Bytes (0%)

@metamaskbot
Copy link
Collaborator

Builds ready [1d4109c]
UI Startup Metrics (1358 ± 86 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1358119616358614071515
load116398014628712211308
domContentLoaded115297514599112181301
domInteractive20145881937
firstPaint71580133646011561250
backgroundConnect28225342726291317
firstReactRender3018219223156
getState13585101629
initialActions41284515
loadScripts8807131176879421012
setupStore1063441018
WebpackHomeuiStartup18511579221215219802122
load15201357177010215971742
domContentLoaded15061345176110015821720
domInteractive171186151357
firstPaint3236017144771961513
backgroundConnect321467113756
firstReactRender5119253315585
getState155153221323
initialActions30234213
loadScripts15021342175910015791718
setupStore1243661325
FirefoxBrowserifyHomeuiStartup14181214188212114811672
load1220105816119012811372
domContentLoaded1220105716119012801371
domInteractive1043327950110242
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect29196893249
firstReactRender28245542937
getState63567613
initialActions5021322215
loadScripts1199103915898812611347
setupStore947313750
WebpackHomeuiStartup17531544242615218042012
load15051332196110715481712
domContentLoaded15051331196110715481711
domInteractive1093451479105393
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect4123216244487
firstReactRender413097154090
getState10412416755
initialActions10016926357
loadScripts1473131218119915171681
setupStore13520223952
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 47 Bytes (0%)
  • ui: 665 Bytes (0.01%)
  • common: 1.5 KiB (0.02%)

jvbriones
jvbriones previously approved these changes Oct 7, 2025
...(args.test ? ['ret_nodes', 'browser', 'chrome', 'indexedDB'] : []),
...(args.test
? ['ret_nodes', 'browser', 'chrome', 'indexedDB', 'devicePixelRatio']
: []),
Copy link
Member Author

Choose a reason for hiding this comment

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

same for webpack

gantunesr
gantunesr previously approved these changes Oct 7, 2025
Copy link
Member

@gantunesr gantunesr left a comment

Choose a reason for hiding this comment

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

Approved for Accounts CO,

  • test/e2e/tests/multichain-accounts/multichain-account-list-menu.spec.ts
  • test/e2e/tests/multichain-accounts/multichain-account-list-page.spec.ts

amandaye0h
amandaye0h previously approved these changes Oct 8, 2025
@seaona seaona dismissed stale reviews from amandaye0h, gantunesr, and jvbriones via d79b247 October 8, 2025 07:25
@seaona
Copy link
Member Author

seaona commented Oct 8, 2025

@metamaskbot update-policies

@metamaskbot
Copy link
Collaborator

No policy changes

@metamaskbot
Copy link
Collaborator

📊 Page Load Benchmark Results

Current Commit: d79b247 | Date: 10/8/2025

📄 Localhost MetaMask Test Dapp

Samples: 100

Summary

  • pageLoadTime-> current mean value: 982ms (±71ms) 🟢 | historical mean value: 1.05s ⬇️ (historical data)
  • domContentLoaded-> current mean value: 689ms (±79ms) 🟢 | historical mean value: 738ms ⬇️ (historical data)
  • firstContentfulPaint-> current mean value: 84ms (±117ms) 🟢 | historical mean value: 79ms ⬆️ (historical data)
📈 Detailed Results
Metric Mean Std Dev Min Max P95 P99
pageLoadTime 982ms 71ms 941ms 1.28s 1.20s 1.28s
domContentLoaded 689ms 79ms 649ms 1.18s 898ms 1.18s
firstPaint 84ms 117ms 60ms 1.24s 84ms 1.24s
firstContentfulPaint 84ms 117ms 60ms 1.24s 84ms 1.24s
largestContentfulPaint 0ms 0ms 0ms 0ms 0ms 0ms

Results generated automatically by MetaMask CI

@metamaskbot
Copy link
Collaborator

Builds ready [d79b247]
UI Startup Metrics (1287 ± 79 ms)
PlatformBuildTypePageMetricMean (ms)Min (ms)Max (ms)Std Dev (ms)P 75 (ms)P 95 (ms)
ChromeBrowserifyHomeuiStartup1287113815517913471408
load111198213247211661235
domContentLoaded110597713187111591229
domInteractive18145071740
firstPaint75789132844311421216
backgroundConnect2572453088261267
firstReactRender25194462638
getState14567101636
initialActions40405516
loadScripts853730105669906957
setupStore1063541118
WebpackHomeuiStartup20611718256016822032311
load16761481206413417671966
domContentLoaded16591464199413017511941
domInteractive1812106141658
firstPaint3765719855552071625
backgroundConnect4616282344988
firstReactRender63201893877155
getState213207272079
initialActions30375311
loadScripts16541461199213017451934
setupStore175143191936
FirefoxBrowserifyHomeuiStartup14281211200614214921732
load1224105215989912971382
domContentLoaded1224105215979912971382
domInteractive1053337559108256
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3119121163276
firstReactRender29244343139
getState63576616
initialActions4018218210
loadScripts1200103415069412731357
setupStore10413114827
WebpackHomeuiStartup15731376207913416121939
load1356119415708214121508
domContentLoaded1355119415708214121508
domInteractive1043237166103334
firstPaintNaNNaNNaNNaNNaNNaN
backgroundConnect3519121193789
firstReactRender342583123475
getState73699622
initialActions40699223
loadScripts1328117515027513741479
setupStore13414620750
Bundle size diffs [🚨 Warning! Bundle size has increased!]
  • background: 47 Bytes (0%)
  • ui: 665 Bytes (0.01%)
  • common: 1.5 KiB (0.02%)

seaona added a commit to MetaMask/snap-account-abstraction-keyring that referenced this pull request Oct 8, 2025
…le (#215)

<!--
Thanks for your contribution! Take a moment to answer these questions so
that reviewers have the information they need to properly understand
your changes:

* What is the current state of things and why does it need to change?
* What is the solution your changes offer and how does it work?

Are there any issues or other links reviewers should consult to
understand this pull request better? For instance:

* Fixes #12345
* See: #67890
-->

## Description

Similar to what we did for the snap-simple-keyring-site, we are now
doing the same for the account abstraction keyring site: we make the
site publishable as an npm package, so we can then use that in our e2e
as a local server, instead of going to the live site.

See PRs for context:

- MetaMask/snap-simple-keyring#163
- MetaMask/snap-simple-keyring#166
- MetaMask/snap-simple-keyring#168
- MetaMask/metamask-extension#36557

<!--
Are there any examples of this change being used in another repository?

When considering changes to the MetaMask module template, it's strongly
preferred that the change be experimented with in another repository
first. This gives reviewers a better sense of how the change works,
making it less likely the change will need to be reverted or adjusted
later.
-->


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Makes the site package publishable on npm and updates CI to cache the
built `public` directory.
> 
> - **Package (`packages/site/package.json`)**:
> - Add `description`, `files: ["public"]`, and `publishConfig.access:
"public"`; remove `private` to enable npm publishing.
> - **CI (`.github/workflows/publish-release.yml`)**:
> - Cache site build output by adding `./packages/site/public` to cache
paths in `publish-release`, `publish-npm-dry-run`, and `publish-npm`
jobs.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
331f5ce. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Maarten Zuidhoorn <maarten@zuidhoorn.com>
Copy link
Contributor

@naugtur naugtur left a comment

Choose a reason for hiding this comment

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

approving on behalf of @MetaMask/policy-reviewers
Policy changes look unsubstantial

@popperjs/core has access to document and seems to have changed a bit. I can see in the lockfile that it was updated. But the version it was updated to is 2yo anyway, so all good on the malicious package risk front

@DDDDDanica DDDDDanica enabled auto-merge October 8, 2025 13:53
languageName: node
linkType: hard

"@metamask/keyring-api@npm:^8.1.3":
Copy link
Contributor

Choose a reason for hiding this comment

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

This one is expected since our SSK is using a very old keyring-api version, I do have a PR to update it:

Copy link
Contributor

@ccharly ccharly left a comment

Choose a reason for hiding this comment

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

LGTM!

@DDDDDanica DDDDDanica added this pull request to the merge queue Oct 9, 2025
Merged via the queue into main with commit 7d628e6 Oct 9, 2025
170 checks passed
@DDDDDanica DDDDDanica deleted the test-snap-simple-keyring branch October 9, 2025 08:06
@github-actions github-actions bot locked and limited conversation to collaborators Oct 9, 2025
@metamaskbot metamaskbot added the release-13.6.0 Issue or pull request that will be included in release 13.6.0 label Oct 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

e2e-maintenance flaky tests no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-13.6.0 Issue or pull request that will be included in release 13.6.0 size-M skip-e2e-quality-gate team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.