Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version v12.4.0 RC #27287

Draft
wants to merge 364 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
364 commits
Select commit Hold shift + click to select a range
95f7753
fix: remove btc account from permission connect lists (#25980)
montelaidev Jul 25, 2024
fb47887
chore: MMI-5301 adds enums for custody type and status (#26006)
zone-live Jul 25, 2024
51410b2
feat: make add-team-label use the reusable workflow (#25807)
itsyoboieltr Jul 25, 2024
ffa86dd
fix: add new helper function for `openMenuSafe` to mitigate all ocurr…
seaona Jul 25, 2024
bd45d11
chore: Create a story for Snackbar component (#25515)
devin-ai-integration[bot] Jul 25, 2024
8db8ba7
chore: Bump `@metamask/transaction-controller` to v34 (#26124)
Gudahtt Jul 25, 2024
f048bbf
chore: Bump `@metamask/ens-controller` to v12 (#26127)
Gudahtt Jul 25, 2024
855dd80
chore: cleanup `.prettierignore` file (#24828)
Gudahtt Jul 25, 2024
b27dd2b
chore: update BNB logos (#26140)
gambinish Jul 25, 2024
3d93d82
test: [Snaps E2E] Create test for snap dialog JSX functionality (#25493)
bowensanders Jul 26, 2024
c7880bf
refactor: fix event names used to track notifications (#25521)
matteoscurati Jul 26, 2024
0e503c3
chore: Add extra event props (#26123)
dan437 Jul 26, 2024
32dc79f
fix: flaky BTC e2e tests (#26082)
montelaidev Jul 26, 2024
30dce33
fix: change in number format to fix loss of precision for very big va…
jpuri Jul 26, 2024
ffa8677
fix: PPOM blockaid update (#26154)
jpuri Jul 26, 2024
f4f008a
fix: Flaky test `4byte setting ` (#26111)
hjetpoluru Jul 26, 2024
fddb0a4
chore: add portfolio ephemeral domain URL (#26163)
ccharly Jul 26, 2024
08c7333
chore: MMI move custody component to TS (#26096)
zone-live Jul 26, 2024
0a5be63
feat: define account name during creation (#25191)
k-g-j Jul 26, 2024
49a6e43
fix: update logos for flare-mainnet and songbird (#25560)
dineshpinto Jul 26, 2024
f938877
fix(user-preference-currency-display): remove unused prop ethLogoHeig…
legobeat Jul 26, 2024
182f609
test: fix potential api-spec test race condition when adding to task …
jiexi Jul 26, 2024
efbdd42
chore: update @metamask/bitcoin-wallet-snap to 0.3.0 (#26168)
ccharly Jul 29, 2024
7cd38ed
chore: migrating interactive-replacement-token-page to ts (#26115)
albertolive Jul 29, 2024
0d8b35f
fix: Address performance issues with 'Portfolio Dashboard' loading in…
albertolive Jul 29, 2024
8f6c83e
fix: setupControllerConnection outstream end event listener (#26141)
danjm Jul 29, 2024
cb3bcee
fix: node being setup twice (#26052)
itsyoboieltr Jul 29, 2024
adf8559
feat: migrate global unit tests from Mocha to Jest (#26104)
itsyoboieltr Jul 29, 2024
4f488b2
fix: interpret multipart errors correctly and allow ignore (#26113)
HowardBraham Jul 29, 2024
2197d29
refactor: add unlock checks for notification related controllers (#26…
Prithpal-Sooriya Jul 29, 2024
4bdb994
chore: upgrade to Sentry 8 (#25999)
matthewwalsh0 Jul 29, 2024
8dc1c6f
chore: Add en_GB locale (#26196)
danjm Jul 29, 2024
2d4ecf6
fix: truncate long tokenId (#26179)
sahar-fehri Jul 29, 2024
aa21fa4
test: [Snaps E2E] remove unnecessary steps from snaps UI Images test …
bowensanders Jul 29, 2024
f53dc06
fix(deps): bump fast-xml-parser from 4.3.4 to 4.4.1. (#26202)
bergeron Jul 29, 2024
fe11329
chore: remove opera manifest files as they are not used (#26200)
davidmurdoch Jul 29, 2024
6eafd29
New Crowdin translations by Github Action (#25939)
metamaskbot Jul 29, 2024
7d079ed
refactor: remove password manager mention (#25985)
AlexJupiter Jul 30, 2024
3c11ac3
fix: improve performance in large signature request confirmations (#2…
matthewwalsh0 Jul 30, 2024
316e5f0
feat: updated dapp permission screen (#25703)
NidhiKJha Jul 30, 2024
cd30d78
feat: Support Permit variants: PermitSingle, PermitBatch, PermitTrans…
digiwand Jul 30, 2024
63cf934
feat: Add experimental settings toggle for transactions redesign (#26…
pedronfigueiredo Jul 30, 2024
aceea3b
test: Add manual scenario for network polling scenario (#26195)
chloeYue Jul 30, 2024
649a793
refactor: replace deprecated mixins with Text component in qr-code-vi…
devin-ai-integration[bot] Jul 30, 2024
ab2f3d7
chore: Create a story for convert-token-to-nft-modal component (#25561)
devin-ai-integration[bot] Jul 30, 2024
a1ccf1f
refactor: replace Typography with Text component in restore-vault.js …
devin-ai-integration[bot] Jul 30, 2024
5194f20
fix: update icons (#26180)
sahar-fehri Jul 30, 2024
7a1191b
chore: Create a story for NftCollectionImage component (#26069)
devin-ai-integration[bot] Jul 30, 2024
a26c725
fix: flaky test `Sentry errors before initialization, after opting in…
seaona Jul 30, 2024
ef812e1
chore: update @metamask/bitcoin-wallet-snap to 0.4.0 (#26229)
ccharly Jul 30, 2024
f2ebfe5
New Crowdin translations by Github Action (#26230)
metamaskbot Jul 30, 2024
81476bb
chore: Create a story for GasTiming component (#25557)
devin-ai-integration[bot] Jul 30, 2024
d4f018a
chore: Create a story for PageContainerHeader component (#26031)
devin-ai-integration[bot] Jul 30, 2024
5bf8aa7
chore: Pass along hashed `rpcUrl` during `CustomNetworkAdded` event (…
gambinish Jul 30, 2024
e6955d7
test: header integration test for contract interaction (#25981)
pnarayanaswamy Jul 31, 2024
6e29b88
test: [Page Object Model] rename process to flow (#26228)
chloeYue Jul 31, 2024
ef05a5f
fix: sentry sessions (#26192)
matthewwalsh0 Jul 31, 2024
44ecc0f
fix: flaky test `Import flow @no-mmi Import Account using json file` …
seaona Jul 31, 2024
ee8009f
fix: add extra condition to prevent erroneous calls to fetch insight …
hmalik88 Jul 31, 2024
07f6134
fix: Fix CircleCI `create_release_pull_request` job (#26246)
Gudahtt Jul 31, 2024
1cc67ee
chore: refactoring onboarding to remove deprecated components (#26207)
georgewrmarshall Jul 31, 2024
85c5710
chore: Create a story for TokenCurrencyDisplay component (#26172)
georgewrmarshall Jul 31, 2024
2beba47
fix: Fix `create_release_pull_request` OOM error (#26249)
Gudahtt Jul 31, 2024
e00863e
fix: handle send transaction API errors (#26253)
BZahory Jul 31, 2024
15e1045
fix: add migration to remove any dangling instances of `perDomainNetw…
adonesky1 Aug 1, 2024
709a7c6
fix: improve warning in add network modal (#26250)
jpuri Aug 1, 2024
728b0e4
refactor: replace deprecated mixins with text component in transactio…
devin-ai-integration[bot] Aug 1, 2024
ed28508
feat(btc): use new snap account flow for Bitcoin accounts (#26183)
ccharly Aug 1, 2024
f3383ac
fix(multichain): fix showFiat option for test assets (#26224)
ccharly Aug 1, 2024
82ad9c1
fix: :bug: use a counter to show if there are pending transactions (#…
matteoscurati Aug 1, 2024
c23a62b
fix: Fix GitHub release description (#26247)
Gudahtt Aug 1, 2024
34dc082
feat: QR-based add NGRAVE ZERO Hardware (#25080)
xardass Aug 1, 2024
3dec722
chore: Update `actions/cache` from v3 to v4 (#26020)
Gudahtt Aug 1, 2024
3f09c80
fix: remove submitRequest from dapp permission (#26276)
montelaidev Aug 1, 2024
fcf474c
fix: Account for persistence flag when setting initial state in `Comp…
FrederikBolding Aug 1, 2024
757b699
chore: Fully remove `eth_sign` (#24756)
adonesky1 Aug 1, 2024
0e66b29
test: fix flaky test Import flow @no-mmi Import wallet using Secret R…
chloeYue Aug 1, 2024
80ac1b2
refactor: ENABLE_MV3 flag cleanup (#26059)
HowardBraham Aug 1, 2024
d157a36
fix: Remove dangling `snapErrors` state property (#26282)
FrederikBolding Aug 1, 2024
b1327e9
fix(26065): remove persisted state mostRecentRetrievedState after ini…
DDDDDanica Aug 1, 2024
883fd75
refactor: convert `icon-factory.js` to typescript (#23823)
davidmurdoch Aug 1, 2024
f05aba0
fix: Revert "fix: remove submitRequest from dapp permission" (#26293)
Gudahtt Aug 1, 2024
be24e25
fix: Truncate extremely long transaction histories (#26291)
Gudahtt Aug 1, 2024
20dd2d0
fix: add guard for draft tx in send validation (#26295)
BZahory Aug 1, 2024
40150cd
fix: Adding migration 125 to remove Deprecated TxController Key from …
NiranjanaBinoy Aug 2, 2024
fbd1ea1
fix: remove the ability to send to btc accounts in send page (#26271)
montelaidev Aug 2, 2024
b22e018
refactor: Refactor migration 120.2 to prepare for additions (#26298)
Gudahtt Aug 2, 2024
f001d60
feat: Update Redesign Signature Permit to show ellipsis at max 15 dig…
digiwand Aug 2, 2024
69e57d8
fix: Remove obsolete NetworkController state (#26302)
Gudahtt Aug 2, 2024
5b56034
fix: Remove obsolete PhishingController state (#26308)
Gudahtt Aug 2, 2024
2a39edf
fix: get permit and order signatures token decimals (#26292)
cryptotavares Aug 2, 2024
c670085
fix: undefined market data selector (#26264)
bergeron Aug 2, 2024
80f538e
fix: issue where `setNetworkClientIdForDomain` was called without che…
adonesky1 Aug 2, 2024
b1ecc6c
fix: Remove invalid providerConfig id (#26310)
Gudahtt Aug 2, 2024
d47f1c3
fix(2946): disable the 'restore backup' in advanced settings (#26325)
DDDDDanica Aug 2, 2024
e5651cf
fix: Fix `currentNetwork` selector when current network config is mis…
Gudahtt Aug 2, 2024
090cb0b
build: add alternative build process to enable faster developer build…
davidmurdoch Aug 2, 2024
2456ba3
fix: Stop logging pipeline stream errors in the service worker if the…
danjm Aug 2, 2024
6b592c5
chore: normalize separator in `content` on the `viewport` `meta` tag …
davidmurdoch Aug 2, 2024
b109dec
test: Add test for migration 120.2 and fix docs (#26333)
Gudahtt Aug 5, 2024
59cee4e
fix: enable Save button on Add Contact page for address input (#26155)
mirceanis Aug 6, 2024
91dc6ea
fix(25350): fix flakey token importing e2e test (#26351)
DDDDDanica Aug 8, 2024
bc6539b
feat: Add metrics for alerts (transactions redesign) (#26121)
vinistevam Aug 12, 2024
73460d5
refactor: replace deprecated mixins with text component in loading-sw…
devin-ai-integration[bot] Aug 12, 2024
13fec63
refactor: replace deprecated mixins with Text component in slippage-b…
devin-ai-integration[bot] Aug 12, 2024
1ccd235
refactor: add performance tracing infrastructure (#26044)
matthewwalsh0 Aug 12, 2024
13b5ae7
feat: Add integration test for blockaid on contract interaction (#26366)
pedronfigueiredo Aug 12, 2024
1fef871
fix: remove submitRequest from dapp permission (#26319)
montelaidev Aug 13, 2024
cad49eb
refactor(notifications): use contentful package as dev dependency (#2…
Prithpal-Sooriya Aug 13, 2024
ac638f1
fix: Add migration 120.4 to delete obsolete currency controller state…
danjm Aug 13, 2024
717376e
chore: MMI move duck and selector to TS (#26125)
zone-live Aug 13, 2024
8b47a79
Merge origin/develop into master-sync
hjetpoluru Aug 13, 2024
b3c2323
feat: updated SSK version in e2e and added test for creating multiple…
k-g-j Aug 13, 2024
a59d178
fix: Delete obsolete properties from phishingController and networkCo…
danjm Aug 13, 2024
8901b68
fix: Fix invalid state causing migration 88 to fail (#26397)
Gudahtt Aug 13, 2024
50949f8
test: snap account contract interaction (#26234)
plasmacorral Aug 13, 2024
f9353f4
refactor: use core profile syncing controllers. (#26370)
Prithpal-Sooriya Aug 14, 2024
3c89610
fix: Improve hex copy button (#26384)
pedronfigueiredo Aug 14, 2024
0a03bd8
fix: Restore snaps-controllers version following patch (#26412)
FrederikBolding Aug 14, 2024
92eb990
fix: notifications use better events (#26410)
matteoscurati Aug 14, 2024
e644e1d
fix: Enter key on Create Account checkbox should not trigger show/hid…
digiwand Aug 14, 2024
bef5b8f
fix: Flaky contract interaction test (#26420)
pedronfigueiredo Aug 14, 2024
03a6569
fix: Do not break application if no token details are found using get…
digiwand Aug 14, 2024
cdd543d
chore: Remove i18n translations from Developer Options Settings Page …
digiwand Aug 14, 2024
42326a7
feat: feature-flagged cross-chain swaps route [METABRIDGE-867] (#25811)
micaelae Aug 14, 2024
c5c13d5
build(webpack): polyfill `setImmediate` (#26398)
davidmurdoch Aug 14, 2024
2707dc3
test: ensure bridge button handles clicks according to feature flags …
micaelae Aug 14, 2024
e3144c5
fix: Delete invalid `SelectedNetworkController` state (#26428)
Gudahtt Aug 14, 2024
bf01aaf
feat: Enable why did you render (#26339)
owencraston Aug 14, 2024
c37451d
chore: migrate BridgeController to BaseController v2 (#26109)
micaelae Aug 15, 2024
19f84ab
fix: timeout and "Rerun failed tests" (#26239)
HowardBraham Aug 15, 2024
a57529b
test: add transaction contract interaction integration tests (#26272)
cryptotavares Aug 15, 2024
de89667
feat: Add abstraction for Snaps permissions (#25175)
david0xd Aug 15, 2024
517cbc4
fix: problem with origins in the Snaps permission UI (#26422)
david0xd Aug 15, 2024
d5592f2
fix: display toast message if user quickly sends transaction on diffe…
jpuri Aug 15, 2024
1101474
fix: Codespaces `corepack enable` (#25161)
HowardBraham Aug 15, 2024
df95e54
fix: Improve AccountListMenu/Item performance (#26379)
owencraston Aug 15, 2024
f461e37
chore: Bump Snaps packages (#26086)
Mrtenz Aug 15, 2024
54b3237
Merge pull request #26395 from MetaMask/master-sync
danjm Aug 15, 2024
2dc3768
fix: Fix SelectedNetworkController state corruption by making Network…
jiexi Aug 16, 2024
2d63c0e
chore(webpack): update `html-bundler-webpack-plugin` from `v3.6.5` to…
davidmurdoch Aug 16, 2024
211cf40
fix: Remove double padding on Snap home page (#26462)
FrederikBolding Aug 16, 2024
4ca39b4
fix: Permit ellipsis should use max 15 char (#26458)
digiwand Aug 16, 2024
4e35c94
feat: Add footers to Snap home pages (#26463)
FrederikBolding Aug 16, 2024
7916145
feat(notifications): use notification services push controller (#26448)
Prithpal-Sooriya Aug 16, 2024
7198656
fix: `rpcIdentifierUtility` client side grouping before emitting Cust…
gambinish Aug 16, 2024
0997f33
fix: Update send transactions with custom nonce.csv (#26451)
sleepytanya Aug 16, 2024
eff95c7
build(chore): switch to `defer` since it guarantees execution order o…
davidmurdoch Aug 16, 2024
555eb57
test: Add manual scenario for upgrade testing (#26317)
chloeYue Aug 16, 2024
f659700
chore: downgrade prettier-eslint to match prettier version (#26145)
legobeat Aug 16, 2024
0562f18
fix: Restore `responsive` e2e driver option (#25932)
pedronfigueiredo Aug 16, 2024
3c066c5
chore: Add Near Icon (#26459)
gambinish Aug 16, 2024
1b22343
chore: remove token and nft detection modals (#26403)
bergeron Aug 19, 2024
69696bb
perf: add parallel fetching for the network fee dropdown (#26489)
Prithpal-Sooriya Aug 19, 2024
e3aef95
feat(notifications): use shared libraries NotificationServicesControl…
Prithpal-Sooriya Aug 19, 2024
2c61cd4
Merge origin/develop into master-sync
hjetpoluru Aug 19, 2024
d553f88
Merge pull request #26497 from MetaMask/master-sync
Gudahtt Aug 19, 2024
59e1135
feat: Update @blockaid/ppom_release to release 1.5.2 (#26494)
jpuri Aug 19, 2024
6aba7d2
fix: Fix migration 120.3 error caused by invalid state (#26485)
Gudahtt Aug 19, 2024
d3541a3
chore: Integrate SnapInsightsController (#26411)
FrederikBolding Aug 19, 2024
e48324c
fix: permit simulation design (#26186)
OGPoyraz Aug 19, 2024
97246c5
test: add `driver.clickElementAndWaitForWindowToClose` helper method …
davidmurdoch Aug 19, 2024
81af2e8
docs: Include MV2 build commands in README (#26486)
Gudahtt Aug 19, 2024
dd4c2b4
feat(snaps): Removed Snaps name-lookup permission code fences (#26393)
ritave Aug 20, 2024
fc3da74
fix: Permit Simulation should include decimals in fiat calculation an…
digiwand Aug 20, 2024
8355bcf
fix: Snap Address component UI/UX (Snaps custom UI) (#26477)
david0xd Aug 20, 2024
9ee22f8
fix: missing deadline in swaps stx status screen (#25779)
infiniteflower Aug 20, 2024
111f170
fix: NetworkChangeToast width in wide screen mode (#26532)
jpuri Aug 20, 2024
da1ebc4
feat: migrate protect intrinsics test to e2e (#26197)
itsyoboieltr Aug 20, 2024
084768a
fix: correct duplicate notifications event tracking in global menu (#…
matteoscurati Aug 20, 2024
6ed72f0
fix: name being out of sync in account list (#26542)
montelaidev Aug 20, 2024
e95ba94
fix: stick add team label version to commit hash (#26540)
itsyoboieltr Aug 20, 2024
f6fc55e
feat: added AccountWatcher as preinstalled snap and added to menu lis…
k-g-j Aug 20, 2024
96b4475
fix: track `swapAndSend` transaction type (#26535)
BZahory Aug 20, 2024
5f524f1
fix: adding warning for origin on redesigned pages (#26306)
jpuri Aug 21, 2024
27655eb
fix(deps): Bump `@metamask/eth-json-rpc-middleware` to `^14.0.0`, `@m…
MajorLift Aug 21, 2024
6dc12d6
fix: Allowlist Snap UI card component (#26565)
FrederikBolding Aug 21, 2024
590f0a9
feat: Enable hardware wallets for smart transactions, sign a transact…
dan437 Aug 21, 2024
5781edb
fix: Fix MV2 build sourcemap upload (#26467)
Gudahtt Aug 21, 2024
72b9e86
feat: Redesign Approve confirmation (#26464)
pedronfigueiredo Aug 21, 2024
c9df9f1
chore: Rename `permittedChains` permission to `endowment:permitted-ch…
Mrtenz Aug 21, 2024
ab79f0d
fix: Snapshot unit tests (#26585)
pedronfigueiredo Aug 21, 2024
e174704
feat(sentry): Adding extensionId and installType to Sentry (#26482)
vthomas13 Aug 21, 2024
1a5003d
feat: Add approval static simulation (#26514)
pedronfigueiredo Aug 21, 2024
c85cf5b
feat: update add team label workflow (#26548)
itsyoboieltr Aug 21, 2024
187da88
feat: account watcher e2e (#26524)
k-g-j Aug 21, 2024
a4f5970
test: add tests for insufficient funds alert (#26512)
pnarayanaswamy Aug 22, 2024
862c9c3
feat: add transaction performance metrics (#26332)
matthewwalsh0 Aug 22, 2024
8f8a0ba
feat: Add contract deployment redesigned transaction screen (#26382)
pedronfigueiredo Aug 22, 2024
796d053
fix: flaky test `Test Snap Name Lookup tests name-lookup functionalit…
seaona Aug 22, 2024
b3865bc
fix: remove speed up and cancel controller validation (#26492)
matthewwalsh0 Aug 22, 2024
82eb13e
feat: new receive flow (#26148)
jonybur Aug 22, 2024
41736f0
test: [Snaps E2E] Update snaps dialog test to include Custom dialog t…
bowensanders Aug 22, 2024
ed44d49
refactor: Use generic helper function to initiate signatures (#26584)
pnarayanaswamy Aug 22, 2024
d2d48d2
refactor: Replace usages of the deprecated `setProviderType` (#22619)
Gudahtt Aug 22, 2024
d81d69b
feat: Integrate Snaps into the redesigned confirmations (#26435)
FrederikBolding Aug 22, 2024
759b92e
fix: bump accounts controller and migration to fix undefined selected…
montelaidev Aug 22, 2024
6088797
chore: add user IDs to send page analytics (#26600)
BZahory Aug 22, 2024
c965bcc
chore: anonymize send analytic properties #26627 (#26628)
BZahory Aug 22, 2024
857c5fa
chore: set bridge network allowlists from feature flags (#26147)
micaelae Aug 22, 2024
1065c49
docs: Add publish a release to Sentry flow steps (#26605)
seaona Aug 23, 2024
800a9d3
feat: upgrade network controller to v20 (#26150)
bergeron Aug 23, 2024
7b8831a
Merge origin/develop into master-sync
hjetpoluru Aug 23, 2024
0a96c7d
chore: Polish multichain token list styles (#26300)
gambinish Aug 23, 2024
23aabcd
chore: bump smart transactions controller (#26644)
bergeron Aug 26, 2024
ee52d48
fix: flaky test `Increase Token Allowance increases token spending ca…
hjetpoluru Aug 26, 2024
e1f9b96
Merge branch 'develop' into master-sync
chloeYue Aug 26, 2024
80b28d6
fix: flaky test `Vault Decryptor Page is able to decrypt the vault us…
seaona Aug 26, 2024
5aeac0f
fix: flaky tests `Sentry errors before initialization, after opting i…
seaona Aug 26, 2024
a21d0ce
fix: flaky test `Phishing Detection should navigate the user to Phish…
seaona Aug 26, 2024
4ca92eb
chore: update gitignore (#26642)
vinnyhoward Aug 26, 2024
28d784e
Merge pull request #26641 from MetaMask/master-sync
Gudahtt Aug 26, 2024
d9e989e
fix: catch error for getTokenStandardAndDetails (#26269)
sahar-fehri Aug 26, 2024
aea494d
fix(snaps): Use ApprovalType instead DIALOG_APPROVAL_TYPES in confirm…
ritave Aug 27, 2024
5b6e7ef
chore: MMI adds back the current Tx confirmation view to MMI (#26539)
zone-live Aug 27, 2024
4d82374
fix: update moonbeam and moonriver network and token logos (#26677)
sahar-fehri Aug 27, 2024
a1239e6
feat: updated ui for adding chain id screen (#25777)
NidhiKJha Aug 27, 2024
c2e9fc4
test: [Snaps E2E] Add test cases for signature confirmations redesign…
bowensanders Aug 28, 2024
999dd56
fix: Address design review on contract interaction and deployment red…
pedronfigueiredo Aug 28, 2024
84f4557
perf: add trace for UI startup (#26636)
matthewwalsh0 Aug 28, 2024
682cc8a
feat: Added Edit networks screen modal (#26097)
NidhiKJha Aug 28, 2024
37ed370
fix: adding missing token images (#26708)
sahar-fehri Aug 28, 2024
c3069ee
chore: update @metamask/bitcoin-wallet-snap to 0.5.0 (#26701)
ccharly Aug 28, 2024
99d2c86
feat: Add metrics to track where signature rejection occurred (#26469)
pnarayanaswamy Aug 28, 2024
82c3634
perf: use an interstitial page to load `popup.html`; load scripts usi…
davidmurdoch Aug 28, 2024
fb58241
feat: Temporarily hide Approve redesigned pages (#26676)
pedronfigueiredo Aug 28, 2024
6b4257b
test: Add integration tests for network busy alert (#26679)
pnarayanaswamy Aug 28, 2024
46bf4e8
fix: Add IOTX icon (#26723)
gambinish Aug 28, 2024
fb61b0f
fix: `wallet_addEthereumChain` does not attach a `result` under certa…
adonesky1 Aug 28, 2024
5174392
feat: adding context to get current confirmation in re-designed confi…
jpuri Aug 29, 2024
830e11a
fix: flaky test `Navigation Signature - Different signature types ini…
seaona Aug 29, 2024
024f94e
fix: flaky test `Click bridge button @no-mmi loads portfolio tab from…
seaona Aug 29, 2024
2f30256
test: Add integration test for gas estimate failed alert (#26681)
pnarayanaswamy Aug 29, 2024
1f8193b
test: [Snaps E2E] Add changes to fix flakiness in Snaps UI Images tes…
bowensanders Aug 29, 2024
f354888
test: Add integration test for insufficient gas (#26711)
pnarayanaswamy Aug 29, 2024
9813d25
Merge origin/develop into master-sync
benjisclowder Aug 29, 2024
690deb4
chore: MMI Fixes passing the state to route using history.push (#26722)
zone-live Aug 29, 2024
1342797
fix: Stop using a hardcoded Snap ID for notifications (#26739)
FrederikBolding Aug 29, 2024
3e5ac65
Merge pull request #26737 from MetaMask/master-sync
Gudahtt Aug 29, 2024
e8273d8
fix: Sentry app state null data to show null as value. (#26522)
NiranjanaBinoy Aug 29, 2024
11f4a57
chore: Bump `storybook`, `@storybook/*` to `^7.6.20`, `storybook-dark…
legobeat Aug 29, 2024
b9173da
fix: rename migration 126 to 121.1 (#26742)
montelaidev Aug 29, 2024
f086572
refactor: extract Send-specific functionality out of AssetPicker (#26…
micaelae Aug 29, 2024
e177ba0
chore: Bump Snaps dependencies (#26675)
FrederikBolding Aug 29, 2024
761562a
fix: Improve migration 121.1 state validation (#26773)
Gudahtt Aug 29, 2024
be04ca8
feat: implement client side malicious network request detection (#25839)
AugmentedMode Aug 29, 2024
1b4417d
feat: Update Polygon from `MATIC` to `POL` (#26671)
gambinish Aug 29, 2024
b7120e0
fix: flaky test `Test Snap Interactive UI test interactive ui element…
seaona Aug 30, 2024
cc8d487
Version v12.4.0
metamaskbot Aug 30, 2024
bdc819a
fix: move porfolio button next to price amount (#26867) (#26897)
jonybur Sep 4, 2024
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
  •  
  •  
  •  
398 changes: 149 additions & 249 deletions .circleci/config.yml

Large diffs are not rendered by default.

99 changes: 99 additions & 0 deletions .circleci/scripts/git-diff-develop.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
import { hasProperty } from '@metamask/utils';
import { exec as execCallback } from 'child_process';
import fs from 'fs';
import path from 'path';
import { promisify } from 'util';

const exec = promisify(execCallback);

/**
* Fetches the git repository with a specified depth.
*
* @param depth - The depth to use for the fetch command.
* @returns True if the fetch is successful, otherwise false.
*/
async function fetchWithDepth(depth: number): Promise<boolean> {
try {
await exec(`git fetch --depth ${depth} origin develop`);
await exec(`git fetch --depth ${depth} origin ${process.env.CIRCLE_BRANCH}`);
return true;
} catch (error: unknown) {
console.error(`Failed to fetch with depth ${depth}:`, error);
return false;
}
}

/**
* Attempts to fetch the necessary commits until the merge base is found.
* It tries different fetch depths and performs a full fetch if needed.
*
* @throws If an unexpected error occurs during the execution of git commands.
*/
async function fetchUntilMergeBaseFound() {
const depths = [1, 10, 100];
for (const depth of depths) {
console.log(`Attempting git diff with depth ${depth}...`);
await fetchWithDepth(depth);

try {
await exec(`git merge-base origin/HEAD HEAD`);
return;
} catch (error: unknown) {
if (
error instanceof Error &&
hasProperty(error, 'code') &&
error.code === 1
) {
console.error(`Error 'no merge base' encountered with depth ${depth}. Incrementing depth...`);
} else {
throw error;
}
}
}
await exec(`git fetch --unshallow origin develop`);
}

/**
* Performs a git diff command to get the list of files changed between the current branch and the origin.
* It first ensures that the necessary commits are fetched until the merge base is found.
*
* @returns The output of the git diff command, listing the changed files.
* @throws If unable to get the diff after fetching the merge base or if an unexpected error occurs.
*/
async function gitDiff(): Promise<string> {
await fetchUntilMergeBaseFound();
const { stdout: diffResult } = await exec(`git diff --name-only origin/HEAD...${process.env.CIRCLE_BRANCH}`);
if (!diffResult) {
throw new Error('Unable to get diff after full checkout.');
}
return diffResult;
}

/**
* Stores the output of git diff to a file.
*
* @returns Returns a promise that resolves when the git diff output is successfully stored.
*/
async function storeGitDiffOutput() {
try {
console.log("Attempting to get git diff...");
const diffOutput = await gitDiff();
console.log(diffOutput);

// Create the directory
const outputDir = 'changed-files';
fs.mkdirSync(outputDir, { recursive: true });

// Store the output of git diff
const outputPath = path.resolve(outputDir, 'changed-files.txt');
fs.writeFileSync(outputPath, diffOutput.trim());

console.log(`Git diff results saved to ${outputPath}`);
process.exit(0);
} catch (error: any) {
console.error('An error occurred:', error.message);
process.exit(1);
}
}

storeGitDiffOutput();
12 changes: 12 additions & 0 deletions .circleci/scripts/test-run-e2e.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,16 @@ then
exit 1
fi

# Run the actual test command from the parameters
timeout 20m "$@" --retries 1

# Error code 124 means the command timed out
if [ $? -eq 124 ]; then
# Once deleted, if someone tries to "Rerun failed tests" the result will be
# "Error: can not rerun failed tests: no failed tests could be found"
echo 'Timeout error, deleting the test results'
rm -rf test/test-results/e2e
exit 124
fi

exit 0
31 changes: 31 additions & 0 deletions .circleci/scripts/validate-locales-only.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const { readChangedFiles } = require('../../test/e2e/changedFilesUtil.js');

/**
* Verifies that all changed files are in the /_locales/ directory.
* Fails the build if any changed files are outside of the /_locales/ directory.
* Fails if no changed files are detected.
*/
async function validateLocalesOnlyChangedFiles() {
const changedFiles = await readChangedFiles();
if (!changedFiles || changedFiles.length === 0) {
console.error('Failure: No changed files detected.');
process.exit(1);
}
const invalidFiles = changedFiles.filter(
(file) => !file.startsWith('app/_locales/'),
);
if (invalidFiles.length > 0) {
console.error(
'Failure: Changed files must be in the /_locales/ directory.\n Changed Files:',
changedFiles,
'\n Invalid Files:',
invalidFiles,
);
process.exit(1);
} else {
console.log('Passed validation');
process.exit(0);
}
}

validateLocalesOnlyChangedFiles();
17 changes: 17 additions & 0 deletions .depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,23 @@ ignores:
- 'resolve-url-loader'
# jest environments
- 'jest-environment-jsdom'
# webpack
- '@pmmmwh/react-refresh-webpack-plugin' # dev tool
- 'webpack-dev-server' # dev tool
- 'html-bundler-webpack-plugin' # build tool
- 'postcss-loader' # build tool
- '@swc/helpers' # build tool
- browserslist # build tool
- 'buffer' # polyfill
- 'crypto-browserify' # polyfill
- 'process' # polyfill
- 'stream-http' # polyfill
- 'rimraf' # misc: install helper
- 'json-schema-to-ts' # misc: typescript helper
- 'https-browserify' # polyfill
- 'path-browserify' # polyfill
- 'nyc' # coverage
- 'core-js-pure' # polyfills
# babel
- '@babel/plugin-transform-logical-assignment-operators'
# trezor
Expand Down
5 changes: 2 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
],
"settings": {
"editor.formatOnSave": true,
"git.autofetch": true,
"git.ignoreRebaseWarning": true,
"git.rebaseWhenSync": true,
"gitlens.showWelcomeOnInstall": false
Expand Down Expand Up @@ -48,13 +47,13 @@
}
},

"postAttachCommand": "/usr/local/share/desktop-init.sh && git pull --rebase; yarn download-builds",
"postAttachCommand": "/usr/local/share/desktop-init.sh && git pull; yarn download-builds",

// This is a working Infura key, but it's on the Free Plan and has very limited requests per second
// If you want to use your own INFURA_PROJECT_ID, follow the instructions in README.md
"postCreateCommand": "if [ -z \"$INFURA_PROJECT_ID\" ]; then echo 'INFURA_PROJECT_ID=3d110a0fce9e49b08d2ee584e19a05ba' > .metamaskrc; fi",

"runArgs": ["--shm-size=1g"],

"updateContentCommand": "sudo .devcontainer/install.sh && yarn --immutable && yarn tsx .devcontainer/setup-browsers.ts && echo 'export DISPLAY=:1' >> ~/.bashrc"
"updateContentCommand": "sudo .devcontainer/install.sh && corepack enable && COREPACK_ENABLE_DOWNLOAD_PROMPT=0 yarn --immutable && yarn tsx .devcontainer/setup-browsers.ts && echo 'export DISPLAY=:1' >> ~/.bashrc"
}
6 changes: 5 additions & 1 deletion .devcontainer/download-builds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,11 @@ async function getBuilds(branch: string, jobNames: string[]) {

const artifacts = await response.json();

if (!artifacts || artifacts.length === 0) {
if (
!artifacts ||
artifacts.length === 0 ||
artifacts.message === 'Not Found'
) {
return [];
}

Expand Down
8 changes: 5 additions & 3 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ module.exports = {
* Mocha library.
*/
{
files: ['test/e2e/**/*.spec.js', 'test/unit-global/*.test.js'],
files: ['test/e2e/**/*.spec.js'],
extends: ['@metamask/eslint-config-mocha'],
rules: {
// In Mocha tests, it is common to use `this` to store values or do
Expand All @@ -281,7 +281,9 @@ module.exports = {
'app/scripts/controllers/mmi-controller.test.ts',
'app/scripts/metamask-controller.actions.test.js',
'app/scripts/detect-multiple-instances.test.js',
'app/scripts/controllers/swaps.test.js',
'app/scripts/controllers/bridge.test.ts',
'app/scripts/controllers/swaps/**/*.test.js',
'app/scripts/controllers/swaps/**/*.test.ts',
'app/scripts/controllers/metametrics.test.js',
'app/scripts/controllers/permissions/**/*.test.js',
'app/scripts/controllers/preferences.test.js',
Expand All @@ -297,6 +299,7 @@ module.exports = {
'test/jest/*.js',
'test/lib/timer-helpers.js',
'test/e2e/helpers.test.js',
'test/unit-global/*.test.js',
'ui/**/*.test.js',
'ui/__mocks__/*.js',
'shared/lib/error-utils.test.js',
Expand Down Expand Up @@ -365,7 +368,6 @@ module.exports = {
'development/**/*.js',
'test/e2e/benchmark.js',
'test/helpers/setup-helper.js',
'test/run-unit-tests.js',
],
rules: {
'node/no-process-exit': 'off',
Expand Down
13 changes: 11 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@
# those changes on build, release and publishing outcomes.

* @MetaMask/extension-devs
**/snaps/** @MetaMask/snaps-devs
development/ @MetaMask/extension-devs @kumavis
lavamoat/ @MetaMask/extension-devs @MetaMask/supply-chain @MetaMask/snaps-devs

# The offscreen.ts script file that is included in the offscreedocument html
# The offscreen.ts script file that is included in the offscreen document html
# 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.
Expand Down Expand Up @@ -84,3 +83,13 @@ ui/components/component-library @MetaMask/design-system-engineers
# Slack handle: @accounts-team-devs | Slack channel: #metamask-accounts-team

app/scripts/lib/snap-keyring @MetaMask/accounts-engineers

# Swaps team to own code for the swaps folder
ui/pages/swaps @MetaMask/swaps-engineers
app/scripts/controllers/swaps @MetaMask/swaps-engineers

# Snaps
**/snaps/** @MetaMask/snaps-devs
shared/constants/permissions.ts @MetaMask/snaps-devs
ui/helpers/utils/permission.js @MetaMask/snaps-devs
ui/hooks/useTransactionInsights.js @MetaMask/snaps-devs
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,18 @@ body:
label: Error messages or log output
description: Please copy and paste any relevant error messages or log output. This will be automatically formatted, so there is no need for backticks.
render: shell
- type: dropdown
id: stage
attributes:
label: Detection stage
description: At what stage was the bug detected?
options:
- In production (default)
- In beta
- During release testing
- On the development branch
validations:
required: true
- type: input
id: version
attributes:
Expand Down
89 changes: 0 additions & 89 deletions .github/scripts/add-team-label-to-pr.ts

This file was deleted.

Loading