Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
4475667
release: Bump main version to 13.11.0 (#37827)
metamaskbot Nov 14, 2025
9793ca4
feat: added sidepanel icon (#37777)
NidhiKJha Nov 14, 2025
ac3f905
fix: enhance metrics for Transaction/Signatures events (Shield) cp-13…
vinistevam Nov 14, 2025
b99a059
feat: shield cohort and priority support events cp-13.10.0 (#37822)
lwin-kyaw Nov 14, 2025
d6d768b
fix: flaky tests ` Sentry errors before initialization, after opting …
seaona Nov 14, 2025
77d5e38
fix: Change to available fiat value text when fiat mode is enabled (#…
OGPoyraz Nov 14, 2025
238a703
fix: JIRA-759, 760, 765, 754, 756 cp-13.10.0 (#37848)
smgv Nov 14, 2025
9df6889
chore: update Shield copywriting and error msgs cp-13.10.0 (#37829)
lwin-kyaw Nov 14, 2025
257a63d
fix: add specific error message for duplicate SRP imports (#37743)
mathieuartu Nov 14, 2025
a48fbf7
test: Remove feature flags from onboarding fixture (#37857)
Gudahtt Nov 14, 2025
dec9a3e
fix: UI issues in DAPP shield (#37784)
jpuri Nov 14, 2025
d89e04b
fix: shield-cta cp-13.10.0 (#37860)
tuna1207 Nov 14, 2025
1f1806a
fix: edit account circular dependency (#37765)
n3ps Nov 14, 2025
87f4c43
feat: add Token Insights modal and integrate within bridge destinatio…
AugmentedMode Nov 14, 2025
995ddaf
fix: Deep link page UI (#37872)
david0xd Nov 17, 2025
3e61437
fix: format currency fraction digit (#37893)
tuna1207 Nov 17, 2025
7d89d43
chore: update rewards metametrics (#37873)
sophieqgu Nov 17, 2025
30c0ec1
feat: rewards onboarding tour controller and data services (#37871)
sophieqgu Nov 17, 2025
6e35f41
feat: reset wallet on MaxKeyChainLengthExceeded error in social login…
lwin-kyaw Nov 17, 2025
c4a264b
fix: update Shield copy and error messages for consistency (#37869)
hieu-w Nov 17, 2025
00e1006
fix: Revert `6286882567a0520732be6d70f5af264d839ec26c` (#37898)
OGPoyraz Nov 17, 2025
bd97dfb
fix: update shield claim form errorCode & message (#37865)
hieu-w Nov 17, 2025
6005483
chore: bump tron to 1.8.0 (#37901)
aganglada Nov 17, 2025
6b7ac2f
feat: Add Tron daily resource section under TRX token details (#37894)
aganglada Nov 17, 2025
eadd65b
fix: cp-13.10.0 bump bitcoin (#37906)
Battambang Nov 17, 2025
864bf3d
fix: handle 'title' as an alias for 'name' in asset sorting (#37900)
Prithpal-Sooriya Nov 17, 2025
05c5a3f
feat: rewards state and selectors (#37875)
sophieqgu Nov 17, 2025
5317746
fix: settings title (#37879)
n3ps Nov 17, 2025
b0bce05
fix: onboarding layout (#37876)
n3ps Nov 17, 2025
0a93e06
fix: btc tests (#37908)
aganglada Nov 17, 2025
48dc4d2
chore: Fix audit advisory cp-13.10.0 (#37938)
Gudahtt Nov 18, 2025
3f2d93c
fix: Set correct origin for gator permissions in signing so Blockaid …
MoMannn Nov 18, 2025
dce82b6
fix: menu item hover (#37880)
n3ps Nov 18, 2025
9f6d771
fix: backup/restore for batched swaps (#37868)
jpuri Nov 18, 2025
0d170d3
fix: Cannot read properties of undefined (reading 'to') cp-13.10.0 (#…
dan437 Nov 18, 2025
ec9c902
fix: asset list hover (#37863)
n3ps Nov 18, 2025
2d7c6f3
fix: confirm row truncat... (#37813)
n3ps Nov 18, 2025
d6976fd
test: state logs validation (#35234)
seaona Nov 18, 2025
7631e92
fix: menu height overflow cp-13.10.0 (#37915)
n3ps Nov 18, 2025
2eb650f
fix: cp-13.10.0 automatically restart the extension after MM is updat…
davidmurdoch Nov 18, 2025
12f7bc9
chore: Remove obselete advisory ignore entries (#37941)
Gudahtt Nov 18, 2025
4743936
fix: make min amount dynamic value in tooltip (#37905)
jpuri Nov 18, 2025
6a0c66e
fix: shield UI bugs (#37909)
hieu-w Nov 18, 2025
2de805e
fix: fixed glitching effect after restarting shield plan (#37904)
lwin-kyaw Nov 18, 2025
c88ed50
fix: social login invalid access token (#37387)
lwin-kyaw Nov 18, 2025
40cdcd9
chore: remove rewards context (#37912)
sophieqgu Nov 18, 2025
8594207
fix: crash when clicking away from swap flow cp-13.10.0 (#37922)
ghgoodreau Nov 18, 2025
4adfae6
fix: notification screen route (#37921)
n3ps Nov 18, 2025
dfc804e
chore: bump core-backend to 4.1.0 (#37902)
Kriys94 Nov 18, 2025
35d0d22
fix: styling of hover components cp-13.10.0 (#37792)
montelaidev Nov 18, 2025
897fb52
feat: rewards hooks (#37917)
sophieqgu Nov 18, 2025
27c6240
fix: shield plan default payment method (#37935)
tuna1207 Nov 18, 2025
00d8be9
chore: Fix all `react-hooks/rules-of-hooks` ESLint rule violations (#…
MajorLift Nov 18, 2025
45c4dff
feat: add hyperevm network as additional network (#37684)
khanti42 Nov 18, 2025
d5f1dbb
feat: rewards onboarding components (#37919)
sophieqgu Nov 18, 2025
e2a2da5
fix: checksummed address copied cp-13.10.0 (#37939)
montelaidev Nov 18, 2025
1ca6538
fix: multichain site tooltip (#37957)
n3ps Nov 18, 2025
6f70c0f
feat: update shield entry modal status only when user has interacted …
lwin-kyaw Nov 19, 2025
2f42553
ci: use a container and HEADLESS=false for running benchmarks (#37725)
HowardBraham Nov 19, 2025
d087a7c
feat: fix shield modal scroll font and spacing (#37928)
lionellbriones Nov 19, 2025
abb9cfa
feat: minor UI fixes and updates for shield settings and coverage foo…
lionellbriones Nov 19, 2025
af6e63c
fix: shield coverage alert detail background color (#37896)
tuna1207 Nov 19, 2025
f074103
fix: shield claim submission error message (#37924)
hieu-w Nov 19, 2025
4b7936e
fix: shield entry eligible balance check (#37890)
lwin-kyaw Nov 19, 2025
d48e2ad
feat: Revoke all permissions on site disconnect (#36776)
MoMannn Nov 19, 2025
05f2915
feat: adding more dapp swap metrics (#37888)
jpuri Nov 19, 2025
6f45bc6
chore: add qr code view in rewards modal (#37959)
sophieqgu Nov 19, 2025
1439428
fix: rewards UI fixes button color and overflow (#37960)
sophieqgu Nov 19, 2025
2797908
chore: allow rewards sign up badge to be dismissed (#37961)
sophieqgu Nov 19, 2025
73c2e30
fix: reset payment method to card when no tokens are available (#37965)
tuna1207 Nov 19, 2025
83f24c1
fix: center-aligned the image for protect wallet modal (#37968)
smgv Nov 19, 2025
b4e970f
fix: in UI implementation of dapp swap feature (#37926)
jpuri Nov 19, 2025
9f36182
feat: Track when RPC update from network banner is completed (#37751)
cryptodev-2s Nov 19, 2025
e627234
fix(predict): cp-13.10.0 Update predict deep link to redirect to /pre…
andrepimenta Nov 19, 2025
766009f
feat: fixed extra scroll on claims-form (#37931)
lionellbriones Nov 19, 2025
2bbc7a5
chore: Update network logos to polish border radius and padding (#37932)
amandaye0h Nov 19, 2025
ae13938
fix: flaky test `Vault Decryptor Page is able to decrypt the vault up…
seaona Nov 19, 2025
58952c9
ci: Fix AWS CLI installation (#37975)
Mrtenz Nov 19, 2025
6d953ae
feat: Implement rewards text into dapp swap comparison banner (#37933)
OGPoyraz Nov 19, 2025
20f49e6
chore: menu item text cp-13.10.0 (#37916)
n3ps Nov 19, 2025
1554d95
fix: Fix broken error capture (#37955)
Gudahtt Nov 19, 2025
586ea03
fix: Display correct native asset and its amount (#37710)
dan437 Nov 19, 2025
eea80f2
fix: flaky test `Token Details shows details for an ERC20 token witho…
seaona Nov 19, 2025
6180689
feat: shield controller update (#37936)
lwin-kyaw Nov 19, 2025
53980e8
test: Add new test job for dist tests (#35906)
Gudahtt Nov 19, 2025
118ae97
test: Skip tests that will fail once BIP44 is turned on (#37832)
davibroc Nov 19, 2025
355e33f
fix: added support link to unlock page (#37967)
smgv Nov 19, 2025
1283580
feat: render gas fees sponsored network and swap (#36227)
Battambang Nov 19, 2025
2707a84
refactor(5564): migrate confirmation and settings page to v5-compat (…
DDDDDanica Nov 19, 2025
db174b8
fix: get from address from non evm network (#37937)
Battambang Nov 19, 2025
2902c86
feat: webpack mv3 (#36704)
itsyoboieltr Nov 19, 2025
86c4719
fix: swap page sets default src token to BTC (#37985)
micaelae Nov 19, 2025
e17c92c
fix: remove crypto compare fallback (#37884)
salimtb Nov 20, 2025
53d4285
test: Add e2e test for Shield Plan Subscription - Part 2 (#37039)
LeVinhGithub Nov 20, 2025
7d6b21b
refactor(5470): migrate multichain page to v5-compat (#37640)
DDDDDanica Nov 20, 2025
9d2d5c6
fix: adds tron icon to non-native assets on tron in bridge page (#37992)
ghgoodreau Nov 20, 2025
45abc1d
feat: moving quote fetch logic to middleware (#37956)
jpuri Nov 20, 2025
a115de5
fix: update sei rpc and default network (#37681)
khanti42 Nov 20, 2025
f37b36c
fix: do not add revoke transaction until confirmed by user (#37839)
MoMannn Nov 20, 2025
a616c19
feat: adding context for dapp swap (#37980)
jpuri Nov 20, 2025
771fa62
fix: dapp swap gas value displayed (#37995)
jpuri Nov 20, 2025
5dbfbc2
fix: flaky test `Settings Does not fetch ENS data for ENS Domain when…
seaona Nov 20, 2025
269de9d
feat: update omni network and native token logo to nomina (#37930)
maxime-oe Nov 20, 2025
a208c0b
fix: cp-13.11.0 filter out tron staked tokens (#37993)
Prithpal-Sooriya Nov 20, 2025
35c98db
chore: Bump Snaps packages (#37971)
FrederikBolding Nov 20, 2025
71a1761
feat: allow add rewards account in swaps flow (#38000)
VGR-GIT Nov 20, 2025
d1385fb
fix: filters out energy and bandwidth nontradeable assets (#37990)
ghgoodreau Nov 20, 2025
f871763
fix: Implement nonEVM zero balance check to send flow before `onAmoun…
OGPoyraz Nov 20, 2025
547cc69
feat: added metrics for advanced expanded view (#37969)
NidhiKJha Nov 20, 2025
fdac130
chore: add hardware wallet events (#37717)
gantunesr Nov 20, 2025
a09309d
fix: tracks insufficient balance correctly for nonevm (#37988)
ghgoodreau Nov 20, 2025
ff2e75d
fix: enable state 2 by default for main/dev builds only (#38044)
ccharly Nov 20, 2025
8418c72
Merge origin/main into stable-sync
gauthierpetetin Nov 20, 2025
0350280
release: Stable sync v13.10.0 into main (#38063)
gauthierpetetin Nov 20, 2025
5921142
release: release/13.11.0-Changelog (#38070)
metamaskbot Nov 20, 2025
a7518d1
Update Attributions
metamaskbot Nov 20, 2025
622c7ff
release(runway): cherry-pick chore: bump Tron snap to version 1.9.1 c…
runway-github[bot] Nov 21, 2025
1c26f4b
release(runway): cherry-pick feat: show onboarding tour when signing …
runway-github[bot] Nov 21, 2025
7d12ea8
release(runway): cherry-pick fix: cp-13.10.1 prevent account list fro…
runway-github[bot] Nov 21, 2025
27f2e7a
release(runway): cherry-pick feat: add animation to shield entry moda…
runway-github[bot] Nov 21, 2025
9c2a471
release(runway): cherry-pick fix: cp-13.11.0 Update dapp swap compari…
runway-github[bot] Nov 21, 2025
64cf0fc
release(runway): cherry-pick fix: cp-13.11.0 tron resources not displ…
runway-github[bot] Nov 21, 2025
afcafb4
release(runway): cherry-pick feat: shield settings banner animation c…
runway-github[bot] Nov 21, 2025
d87a3cc
release(runway): cherry-pick fix: cp-13.11.0 bump tron 1.10 (#38137)
runway-github[bot] Nov 21, 2025
b5dfeeb
release(runway): cherry-pick fix: cp-13.11.0 dapp swap fix conversion…
runway-github[bot] Nov 24, 2025
2e34ea8
release(runway): cherry-pick fix: shield handle evm account only from…
runway-github[bot] Nov 24, 2025
ea33a1e
release(runway): cherry-pick fix: multiple opted in srps showing wron…
runway-github[bot] Nov 24, 2025
b7bb34c
release(runway): cherry-pick fix: cp-13.11.0 Fix dapp swap middleware…
runway-github[bot] Nov 24, 2025
263c418
release(runway): cherry-pick fix: use `maxConcurrency=1` for Snap acc…
runway-github[bot] Nov 24, 2025
292f229
release(runway): cherry-pick fix: add resync mechanism to sync Snap a…
runway-github[bot] Nov 24, 2025
5f3ab85
release(runway): cherry-pick fix: do not display Snap account dialogs…
runway-github[bot] Nov 24, 2025
f783bea
Merge remote-tracking branch 'origin/stable' into sync-v13.11.0-with-…
gauthierpetetin Nov 24, 2025
7e0239e
docs(changelog): fix linting error
gauthierpetetin Nov 24, 2025
2d124e1
fix: cp-13.10.1 patch TokenBalancesController to resolve missing bala…
Prithpal-Sooriya Nov 21, 2025
39ceeb2
fix: additional change needed to properly cherry-pick 38075
gauthierpetetin Nov 24, 2025
39d8616
Merge pull request #38183 from MetaMask/sync-v13.11.0-with-stable
gauthierpetetin Nov 24, 2025
349d452
release(runway): cherry-pick fix: enabled metrics toggle after shield…
runway-github[bot] Nov 24, 2025
92787d6
release(runway): cherry-pick fix: social login authentication state b…
runway-github[bot] Nov 24, 2025
5f0d2e9
release(runway): cherry-pick fix: alignment of loading indicators on …
runway-github[bot] Nov 25, 2025
743e70d
release(runway): cherry-pick test: temporarily skip Vault Corruption …
runway-github[bot] Nov 25, 2025
43f3418
release(runway): cherry-pick fix: filters bandwidth and energy on net…
runway-github[bot] Nov 25, 2025
bec6226
Merge remote-tracking branch 'origin/stable' into sync-v13.11.0-with-…
gauthierpetetin Nov 25, 2025
5d40b48
release(runway): cherry-pick fix: marketing metrics for shield cp-13.…
runway-github[bot] Nov 25, 2025
93fe2f7
Merge branch 'release/13.11.0' into sync-v13.11.0-with-stable-2
gauthierpetetin Nov 25, 2025
37aa367
Merge pull request #38228 from MetaMask/sync-v13.11.0-with-stable-2
gauthierpetetin Nov 25, 2025
7de775a
release(runway): cherry-pick fix: cp-13.11.0 sending quote request fo…
runway-github[bot] Nov 25, 2025
101ffd7
release(runway): cherry-pick fix: cp-13.11.0 dapp swap comparison lat…
runway-github[bot] Nov 25, 2025
7cc466f
release(runway): cherry-pick fix: cp-13.11.0 bump tron 1.11.0 and key…
runway-github[bot] Nov 25, 2025
83d4994
release(runway): cherry-pick chore: cp-13.10.4 cp-13.11.0 Address new…
runway-github[bot] Nov 25, 2025
44c9fc1
release(runway): cherry-pick fix: shield approval token decode name a…
runway-github[bot] Nov 26, 2025
6bf6889
release(runway): cherry-pick fix: fix(38192): fix ui regression of re…
DDDDDanica Nov 26, 2025
df7446f
Merge remote-tracking branch 'origin/stable' into sync-v13.11.0-with-…
gauthierpetetin Nov 26, 2025
b1f2a78
fix: properly include PR 38261
gauthierpetetin Nov 26, 2025
fef8a55
Remove 38259 changes as they were added twice when doing the stable sync
gauthierpetetin Nov 26, 2025
98678a9
Merge branch 'release/13.11.0' into sync-v13.11.0-with-stable-3
gauthierpetetin Nov 26, 2025
5bfda90
Merge pull request #38303 from MetaMask/sync-v13.11.0-with-stable-3
gauthierpetetin Nov 26, 2025
516eb78
release(runway): cherry-pick fix: comparison fix for tron dest amount…
runway-github[bot] Nov 26, 2025
2936f91
release(runway): cherry-pick fix: handles rewards deeplink with refer…
runway-github[bot] Nov 26, 2025
17a4089
release(runway): cherry-pick chore: bump `eth-snap-keyring` (to enabl…
runway-github[bot] Nov 26, 2025
6e3fef1
release(runway): cherry-pick fix: cp-13.11.0 non-evm accounts not fou…
runway-github[bot] Nov 26, 2025
2c10a6d
release(runway): cherry-pick fix: cp-13.11.0 replace deeplink with si…
runway-github[bot] Nov 26, 2025
b751974
release: release/13.11.0-Changelog (#38073)
metamaskbot Nov 27, 2025
f907593
release(runway): cherry-pick fix: update package to avoid yarn audit …
runway-github[bot] Nov 27, 2025
f92f305
release(runway): cherry-pick fix: cp-13.11.0 dapp swap request for ba…
runway-github[bot] Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ module.exports = {
'shared/**/*.js',
'shared/**/*.ts',
'ui/**/*.js',
'offscreen/**/*.ts',
'**/*.test.js',
'test/lib/**/*.js',
'test/mocks/**/*.js',
Expand Down Expand Up @@ -377,7 +376,7 @@ module.exports = {
'react/prop-types': 'off',
'react/no-children-prop': 'off',
'react/jsx-key': 'warn', // TODO - increase this into 'error' level
'react-hooks/rules-of-hooks': 'warn', // TODO - increase this into 'error' level
'react-hooks/rules-of-hooks': 'error',
},
settings: {
react: {
Expand Down
20 changes: 11 additions & 9 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ lavamoat/ @MetaMask/extension-devs @MetaMask/policy-r
# file is responsible, at present, for loading the snaps execution environment
# for MV3. Any changes to this file should require at least one member of the
# snaps development team to review and approve the changes.
offscreen/scripts/offscreen.ts @MetaMask/core-platform
app/offscreen/offscreen.ts @MetaMask/core-platform


# The privacy-snapshot.json file includes a list of all hosts that the
Expand Down Expand Up @@ -165,14 +165,16 @@ app/scripts/lib/smart-transaction @MetaMask/transactions
shared/lib/multichain/addresses/* @MetaMask/new-networks

# QA Team - E2E Framework
test/e2e/page-objects/ @MetaMask/qa
test/e2e/seeder/ @MetaMask/qa
test/e2e/default-fixture.js @MetaMask/qa
test/e2e/fixture-builder.js @MetaMask/qa
test/e2e/fixture-server.js @MetaMask/qa
test/e2e/helpers.js @MetaMask/qa
test/e2e/mock-e2e-allowlist.js @MetaMask/qa
test/e2e/mock-e2e.js @MetaMask/qa
test/e2e/page-objects/ @MetaMask/qa
test/e2e/seeder/ @MetaMask/qa
test/e2e/default-fixture.js @MetaMask/qa
test/e2e/fixture-builder.js @MetaMask/qa
test/e2e/fixture-server.js @MetaMask/qa
test/e2e/helpers.js @MetaMask/qa
test/e2e/mock-e2e-allowlist.js @MetaMask/qa
test/e2e/mock-e2e.js @MetaMask/qa
test/e2e/tests/settings/state-logs-helpers.ts @MetaMask/qa
test/e2e/tests/settings/state-logs.json @MetaMask/qa @MetaMask/extension-privacy-reviewers

# Wallet Integrations
app/scripts/lib/rpc-method-middleware @MetaMask/wallet-integrations
Expand Down
1 change: 1 addition & 0 deletions .github/scripts/bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ export QUICKNODE_LINEA_MAINNET_URL=""
export QUICKNODE_MAINNET_URL=""
export QUICKNODE_OPTIMISM_URL=""
export QUICKNODE_POLYGON_URL=""
export QUICKNODE_SEI_URL=""
export SEGMENT_BETA_WRITE_KEY=""
export SEGMENT_EXPERIMENTAL_WRITE_KEY=""
export SEGMENT_FLASK_WRITE_KEY=""
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/e2e-chrome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,14 @@ jobs:
matrix-index: ${{ matrix.index }}
matrix-total: ${{ strategy.job-total }}

test-e2e-chrome-vault-decryption:
test-e2e-chrome-dist:
# This if statement is equivalent to IS_FORK
if: ${{ !(github.event.pull_request.head.repo.fork || github.event.repository.fork) }}
uses: ./.github/workflows/run-e2e.yml
with:
test-suite-name: test-e2e-chrome-vault-decryption
test-suite-name: test-e2e-chrome-dist
build-artifact: build-dist-browserify
test-command: yarn test:e2e:single test/e2e/vault-decryption-chrome.spec.ts --browser chrome
test-command: yarn test:e2e:chrome:dist
builds-from-run: ${{ inputs.builds-from-run }}

test-e2e-chrome-api-specs:
Expand Down Expand Up @@ -188,7 +188,7 @@ jobs:
- test-e2e-chrome-multiple-providers
- test-e2e-chrome-rpc
- test-e2e-chrome-flask
- test-e2e-chrome-vault-decryption
- test-e2e-chrome-dist
- test-e2e-chrome-api-specs
- test-e2e-chrome-api-specs-multichain
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/e2e-firefox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ jobs:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
with:
test-suite-name: test-e2e-firefox-webpack
build-artifact: build-test-webpack
build-command: yarn build:test:webpack
build-artifact: build-test-mv2-webpack
build-command: yarn build:test:webpack:mv2
test-command: yarn test:e2e:firefox
builds-from-run: ${{ inputs.builds-from-run }}
matrix-index: ${{ matrix.index }}
Expand Down
17 changes: 16 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,17 @@ jobs:
builds-from-run: ${{ needs.identify-builds.outputs.builds-from-run }}
secrets: inherit

build-test-mv2-webpack:
needs:
- identify-builds
uses: ./.github/workflows/run-build.yml
with:
build-name: build-test-mv2-webpack
build-command: yarn build:test:webpack:mv2
validate-source-maps: false # Disabled as webpack outputs are not supported by validate-source-maps
builds-from-run: ${{ needs.identify-builds.outputs.builds-from-run }}
secrets: inherit

run-benchmarks:
# If not a fork, run benchmarks
if: ${{ !(github.event.pull_request.head.repo.fork || github.event.repository.fork) }}
Expand All @@ -250,7 +261,9 @@ jobs:
- identify-builds
- prep-deps
- build-test-browserify
- build-test-mv2-browserify
- build-test-webpack
- build-test-mv2-webpack
with:
builds-from-run: ${{ needs.identify-builds.outputs.builds-from-run }}
secrets:
Expand Down Expand Up @@ -339,8 +352,9 @@ jobs:
needs:
- identify-builds
- needs-e2e
- build-dist-mv2-browserify
- build-test-mv2-browserify
- build-test-webpack
- build-test-mv2-webpack
- build-test-flask-mv2-browserify
if: ${{ needs.needs-e2e.outputs.needs-e2e == 'true' }}
uses: ./.github/workflows/e2e-firefox.yml
Expand Down Expand Up @@ -538,6 +552,7 @@ jobs:
- build-test-flask-browserify
- build-test-flask-mv2-browserify
- build-test-webpack
- build-test-mv2-webpack
- run-tests
- build-storybook
- build-ts-migration-dashboard
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ jobs:
QUICKNODE_MAINNET_URL: ${{ secrets.QUICKNODE_MAINNET_URL }}
QUICKNODE_OPTIMISM_URL: ${{ secrets.QUICKNODE_OPTIMISM_URL }}
QUICKNODE_POLYGON_URL: ${{ secrets.QUICKNODE_POLYGON_URL }}
QUICKNODE_SEI_URL: ${{ secrets.QUICKNODE_SEI_URL }}
SEGMENT_BETA_WRITE_KEY: ${{ secrets.SEGMENT_BETA_WRITE_KEY }}
SEGMENT_EXPERIMENTAL_WRITE_KEY: ${{ secrets.SEGMENT_EXPERIMENTAL_WRITE_KEY }}
SEGMENT_FLASK_WRITE_KEY: ${{ secrets.SEGMENT_FLASK_WRITE_KEY }}
Expand Down
20 changes: 16 additions & 4 deletions .github/workflows/run-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,20 @@ env:
COMMANDS: |
{
standardHome: 'yarn tsx test/e2e/benchmarks/benchmark.ts --out test-artifacts/benchmarks/benchmark-{0}-{1}-standardHome.json --retries 2',
powerUserHome: 'yarn tsx test/e2e/benchmarks/benchmark.ts --persona powerUser --browserLoads 4 --pageLoads 4 --out test-artifacts/benchmarks/benchmark-{0}-{1}-powerUserHome.json --retries 2',
powerUserHome: 'yarn tsx test/e2e/benchmarks/benchmark.ts --persona powerUser --browserLoads 10 --pageLoads 10 --out test-artifacts/benchmarks/benchmark-{0}-{1}-powerUserHome.json --retries 2',
userActions: 'yarn tsx test/e2e/benchmarks/user-actions-benchmark.ts --out test-artifacts/benchmarks/benchmark-{0}-{1}-userActions.json --retries 2',
}
jobs:
benchmarks:
if: ${{ github.event_name != 'merge_group' }} # Skip this job for the Merge Queue
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
timeout-minutes: 30
container:
image: ghcr.io/metamask/metamask-extension-e2e-image:v24.11.0
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
Expand All @@ -31,8 +36,8 @@ jobs:
name: ${{ matrix.browser }}-${{ matrix.buildType }}-${{ matrix.pageType }}
env:
SELENIUM_BROWSER: ${{ matrix.browser }}
HEADLESS: true
ARTIFACT_NAME: build-test-${{ matrix.buildType }}
HEADLESS: false
ARTIFACT_NAME: build-test${{ matrix.browser == 'firefox' && '-mv2' || '' }}-${{ matrix.buildType }}
OUTPUT_NAME: benchmark-${{ matrix.browser }}-${{ matrix.buildType }}-${{ matrix.pageType }}.json
INFURA_PROJECT_ID: ${{ secrets.INFURA_PROJECT_ID }}
continue-on-error: true
Expand Down Expand Up @@ -63,6 +68,13 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }} # This is required when downloading artifacts from a different repository or from a different workflow run.
run-id: ${{ inputs.builds-from-run }} # Download from whatever run the identify-builds job said.

- name: Configure Xvfb
run: Xvfb -ac :99 -screen 0 1280x1024x16 &

# TODO: Pre-install this in the container image
- name: Install AWS CLI (needed in the container)
run: sudo apt-get update && sudo apt-get install python3-pip && sudo pip install awscli --break-system-packages

- name: Run the benchmark
# Choose a benchmark command from env.COMMANDS
# Then replace the {0} placeholder with the browser, and the {1} placeholder with the buildType
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/run-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ jobs:
QUICKNODE_MAINNET_URL: ${{ secrets.QUICKNODE_MAINNET_URL }}
QUICKNODE_OPTIMISM_URL: ${{ secrets.QUICKNODE_OPTIMISM_URL }}
QUICKNODE_POLYGON_URL: ${{ secrets.QUICKNODE_POLYGON_URL }}
QUICKNODE_SEI_URL: ${{ secrets.QUICKNODE_SEI_URL }}
SEGMENT_BETA_WRITE_KEY: ${{ secrets.SEGMENT_BETA_WRITE_KEY }}
SEGMENT_EXPERIMENTAL_WRITE_KEY: ${{ secrets.SEGMENT_EXPERIMENTAL_WRITE_KEY }}
SEGMENT_FLASK_WRITE_KEY: ${{ secrets.SEGMENT_FLASK_WRITE_KEY }}
Expand Down
49 changes: 47 additions & 2 deletions .github/workflows/update-lavamoat-policies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,43 @@ jobs:
path: lavamoat/browserify/${{ matrix.build-type }}
key: cache-${{ matrix.build-type }}-${{ needs.prepare.outputs.COMMIT_SHA }}

update-lavamoat-webpack-policy-mv2:
name: Update LavaMoat webpack MV2 policy
runs-on: ubuntu-latest
timeout-minutes: 30
needs:
- prepare
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Checkout pull request
run: gh pr checkout "${PR_NUMBER}"
env:
GITHUB_TOKEN: ${{ secrets.LAVAMOAT_UPDATE_TOKEN }}
PR_NUMBER: ${{ github.event.issue.number }}

- name: Checkout and setup environment
uses: MetaMask/action-checkout-and-setup@v1
with:
is-high-risk-environment: false
skip-allow-scripts: true
use-yarn-hydrate: true

- name: Update LavaMoat webpack MV2 policy
run: yarn webpack --env production --no-cache --generatePolicy -v 2
env:
INFURA_PROD_PROJECT_ID: 00000000000
SEGMENT_PROD_WRITE_KEY: 00000000000
GOOGLE_PROD_CLIENT_ID: 00000000000
APPLE_PROD_CLIENT_ID: 00000000000

- name: Cache webpack MV2 policy
uses: actions/cache/save@v4
with:
path: lavamoat/webpack/mv2
key: cache-webpack-mv2-${{ needs.prepare.outputs.COMMIT_SHA }}

update-lavamoat-webpack-policy:
name: Update LavaMoat webpack policy
runs-on: ubuntu-latest
Expand Down Expand Up @@ -196,7 +233,7 @@ jobs:
- name: Cache webpack policy
uses: actions/cache/save@v4
with:
path: lavamoat/webpack
path: lavamoat/webpack/mv3
key: cache-webpack-${{ needs.prepare.outputs.COMMIT_SHA }}

commit-updated-policies:
Expand All @@ -208,6 +245,7 @@ jobs:
- is-fork-pull-request
- update-lavamoat-build-policy
- update-lavamoat-webapp-policy
- update-lavamoat-webpack-policy-mv2
- update-lavamoat-webpack-policy
# Ensure forks don't get access to the LavaMoat update token
if: ${{ needs.is-fork-pull-request.outputs.IS_FORK == 'false' }}
Expand Down Expand Up @@ -266,10 +304,17 @@ jobs:
key: cache-experimental-${{ needs.prepare.outputs.COMMIT_SHA }}
fail-on-cache-miss: true

- name: Restore webpack MV2 policy
uses: actions/cache/restore@v4
with:
path: lavamoat/webpack/mv2
key: cache-webpack-mv2-${{ needs.prepare.outputs.COMMIT_SHA }}
fail-on-cache-miss: true

- name: Restore webpack policy
uses: actions/cache/restore@v4
with:
path: lavamoat/webpack
path: lavamoat/webpack/mv3
key: cache-webpack-${{ needs.prepare.outputs.COMMIT_SHA }}
fail-on-cache-miss: true

Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/validate-lavamoat-policies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,33 @@ jobs:
exit 1
fi
validate-lavamoat-policy-webpack-mv2:
name: Validate LavaMoat webpack MV2 policy
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout and setup environment
uses: MetaMask/action-checkout-and-setup@v1
with:
is-high-risk-environment: false
skip-allow-scripts: true
use-yarn-hydrate: true

- name: Validate LavaMoat webpack MV2 policy
run: yarn webpack --env production --no-cache --generatePolicy -v 2
env:
INFURA_PROD_PROJECT_ID: 00000000000
SEGMENT_PROD_WRITE_KEY: 00000000000
GOOGLE_PROD_CLIENT_ID: 00000000000
APPLE_PROD_CLIENT_ID: 00000000000

- name: Check working tree
run: |
if ! git diff --exit-code; then
echo "::error::Working tree dirty."
exit 1
fi
validate-lavamoat-policy-webpack:
name: Validate LavaMoat webpack policy
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ app/.DS_Store
storybook-build/
coverage/
jest-coverage/
dist
/dist
builds*/
builds.zip
development/ts-migration-dashboard/build
Expand Down
2 changes: 0 additions & 2 deletions .madgerc
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@
"ui/pages/confirmations/**",
"ui/ducks/**",
"ui/selectors/**",
"ui/hooks/**",
"ui/store/**",
"ui/helpers/utils/token-util.js",
"ui/components/multichain/**",
"ui/components/app/**",
"ui/components/component-library/**",
Expand Down
Loading
Loading