Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
c010b88
fix(ramp): dismiss headless session on host refocus (#31109)
saustrie-consensys Jun 8, 2026
904e10b
fix(ramps): forward quote payment method in headless buy (#31046)
saustrie-consensys Jun 8, 2026
5ee42ac
chore: Migrate unowned Text usages to MMDS (#31223)
georgewrmarshall Jun 8, 2026
4acfe93
fix(confirmations): fix pay-with modal swipe dismiss freeze and updat…
vinistevam Jun 9, 2026
0a047b6
feat: support UAC custom asset import and dynamic image fallbacks (#3…
Prithpal-Sooriya Jun 9, 2026
fed4592
fix(rewards): campaign cta geo restriction (#31240)
sophieqgu Jun 9, 2026
bedb452
fix: cp-7.81.0 always show native tokens and stablecoins in QuickBuy …
xavier-brochard Jun 9, 2026
c441f4b
fix: MMPay fiat payment fixes (#31009)
OGPoyraz Jun 9, 2026
db303dc
feat: integrate balance refresh functionality into AccountGroupBalanc…
PatrykLucka Jun 9, 2026
036054f
feat: animated toggle (#31200)
joaosantos15 Jun 9, 2026
a78c4aa
feat(batch-sell): pass isSmartTransaction flag to updateBatchSellTrad…
GeorgeGkas Jun 9, 2026
6d27922
chore: bump `network-controller` and `controller-utils` cp-7.81.0 (#3…
mikesposito Jun 9, 2026
3048f3c
refactor(transaction-controller): migrate to v67 (#31241)
matthewwalsh0 Jun 9, 2026
7c3391a
chore: remove sticky buttons AB test "Swap" vs "Convert" (#31192)
juanmigdr Jun 9, 2026
a973f82
fix(money): reject lingering money account batch on back-out to speed…
Kureev Jun 9, 2026
aaea6c5
feat: gasless hw batch tracking (#30987)
montelaidev Jun 9, 2026
bb43735
chore(analytics): migrate useMetrics→useAnalytics and MetricsEventBui…
NicolasMassart Jun 9, 2026
1f68123
chore(analytics): migrate MetricsEventBuilder→AnalyticsEventBuilder i…
NicolasMassart Jun 9, 2026
44730df
chore(analytics): remove stale MetricsEventBuilder mock from Accounts…
NicolasMassart Jun 9, 2026
0efac17
refactor: update useHasNativeFiatProvider to gate native (#31395)
meltingice1337 Jun 9, 2026
d940072
chore(analytics): migrate MetricsEventBuilder→AnalyticsEventBuilder i…
NicolasMassart Jun 9, 2026
284efaa
chore(skills): add opt-in install auto-update (#30924)
abretonc7s Jun 9, 2026
035f311
fix(ui): truncate long network names to prevent layout overflow (#31215)
Battambang Jun 9, 2026
a9337cb
chore(analytics): migrate useMetrics→useAnalytics, MetricsEventBuilde…
NicolasMassart Jun 9, 2026
bb6f304
chore(analytics): migrate MetricsEventBuilder→AnalyticsEventBuilder a…
NicolasMassart Jun 9, 2026
5edcc2c
fix(token-details): cp-7.81.0 show swap/quick buy when only viewed to…
xavier-brochard Jun 9, 2026
0341ade
chore(analytics): rename addTraitsToUser→identify in EmptyStateCta te…
NicolasMassart Jun 9, 2026
360a7cc
fix(predict): prevent infinite RTDS reconnect loop and reduce Sentry …
matallui Jun 9, 2026
3401141
feat: `TabEmptyState` pilot migration (#29280)
kirillzyusko Jun 9, 2026
a41a3ca
fix(predict): keep time-slot scroll anchored left when live slot expi…
ghgoodreau Jun 9, 2026
20256fd
chore(predict): add minimal analytics for predict portfolio module an…
caieu Jun 9, 2026
62642cf
feat: keep asset ordering between screens in batch sell the same (#31…
GeorgeGkas Jun 9, 2026
0923514
fix: text size in batch fee info modals (#31263)
GeorgeGkas Jun 9, 2026
5818ae3
fix: batch sell network fee row border padding (#31262)
GeorgeGkas Jun 9, 2026
8f34bb5
fix: fix padding in balance sorting row (#31260)
GeorgeGkas Jun 9, 2026
c0a04d8
fix: you sell row in batch sell review modal has wrong state (#31264)
GeorgeGkas Jun 9, 2026
392fa4d
feat(quickbuy): resolve terminal toast for same-chain Solana swaps (#…
xavier-brochard Jun 9, 2026
f56b4ff
fix: force batch sell to use control variant for balance layout (#31418)
infiniteflower Jun 9, 2026
20805c4
fix: social leaderboard per chain pnl (#31419)
Bigshmow Jun 9, 2026
2e506f0
fix(homepage): hide duplicate Perps/Predictions titles and add 32px s…
brianacnguyen Jun 9, 2026
bcfe874
fix(money): remove card containment from tooltip description (MUSD-89…
Kureev Jun 9, 2026
36ba7f5
refactor: Aligned SectionHeader, SectionDivider, and spacing for Wall…
brianacnguyen Jun 9, 2026
34330d2
test: add Playwright performance debug logging (#31214)
hjetpoluru Jun 9, 2026
d0dcf88
fix(money): update MM Pay tooltips and projected balances (MUSD-844) …
Kureev Jun 9, 2026
0779079
fix(money): derive account funding state from balance not transaction…
Kureev Jun 9, 2026
99f8aaf
fix(ci): skip PR template checks on PRs targeting non-main branches (…
NicolasMassart Jun 9, 2026
cf21917
feat: implement option to withdraw from money account to predict acco…
jpuri Jun 9, 2026
444cdd5
fix(card): return to money tab after auth and broaden link CTA (#31244)
Brunonascdev Jun 9, 2026
05d82c4
feat: improve batch sell slider styling (#31424)
GeorgeGkas Jun 9, 2026
dd8af84
feat(card): make MoneyAccount the default spending source on Card (#3…
Brunonascdev Jun 9, 2026
b4aae76
feat(predict): Add usePredictFeedConfig hook (#31397)
MarioAslau Jun 9, 2026
44eed1c
fix: keep batch sell select and quotes screen selected assets in sync…
GeorgeGkas Jun 9, 2026
618f5d7
feat: MUSD-871 money account event tracking (#31051)
Matt561 Jun 9, 2026
7ff2f76
feat(predict): Implement generic PredictFeedView for configured feed …
MarioAslau Jun 9, 2026
66cfb72
feat(analytics): add QR Code Viewed event for receive QR sheets (TMCU…
wachunei Jun 9, 2026
812d9a4
fix: MUSD-921 updated useMusdBalance to use remotely configurable net…
Matt561 Jun 9, 2026
4adf48d
fix(money): implement design review polishes (MUSD-916) (#31398)
Kureev Jun 9, 2026
b875abb
chore: fix Sei network and token logo sizing (#31108)
jeremytsng Jun 9, 2026
819ae64
feat: conditionally display perps account selector on perps deposit p…
jpuri Jun 10, 2026
040f84b
chore(rewards): change test case values (#31426)
sophieqgu Jun 10, 2026
22a8264
feat: show verified USDC and USDT on all chains in QuickBuy sell rece…
joaosantos15 Jun 10, 2026
9020baa
test(e2e): resolver layer for cross framework page object (#31433)
cmd-ob Jun 10, 2026
8d53cd4
fix: vip badge text (#31449)
aganglada Jun 10, 2026
a6fe2bd
feat: `Skeleton` sunset (final PR) (#31376)
kirillzyusko Jun 10, 2026
fa798ba
feat(rewards): add stats view for predict the pitch (#31435)
sophieqgu Jun 10, 2026
15eb653
refactor: E5 migrate MetricsEventBuilder to AnalyticsEventBuilder in …
NicolasMassart Jun 10, 2026
3bf0284
chore: bump `@metamask/connectivity-controller` to `^0.2.0` (#31385)
cryptodev-2s Jun 10, 2026
6bc851d
fix: insufficient balance alert on money deposit page (#31427)
jpuri Jun 10, 2026
ca4e560
feat(perps): update perps controller to latest on mobile (#31248)
abretonc7s Jun 10, 2026
d67c589
fix: simplify `useClearConfirmationOnBackSwipe` to reliably reject on…
OGPoyraz Jun 10, 2026
e332a64
fix: ledger recover signing after app relaunch (#30920)
dawnseeker8 Jun 10, 2026
fb7e123
test: Fix/aggregate reports search dirs + performance smart selection…
javiergarciavera Jun 10, 2026
1780bfa
feat: conditionally display predict account selector on predict depos…
jpuri Jun 10, 2026
5f02a7b
feat(swaps): add batch sell deeplink (#31144)
SteP-n-s Jun 10, 2026
f3e68e2
feat: add `snap-account-service` (#30329)
ccharly Jun 10, 2026
dab94c2
fix(quickbuy): spend exact balance when selling all to avoid false in…
joaosantos15 Jun 10, 2026
c6cc33f
feat: `Skeleton` migration (`predict` team) (#29052)
kirillzyusko Jun 10, 2026
737bdf7
feat: MUSD-946 disable send button when user has zero balance (#31440)
Matt561 Jun 10, 2026
2b6656b
fix: default QuickBuy sell receive token to chain native instead of t…
joaosantos15 Jun 10, 2026
adb330f
feat: Implement UI messengers (#29653)
Mrtenz Jun 10, 2026
6c2b913
chore: update @metamask/transaction-pay-controller to version 23.5.0 …
jpuri Jun 10, 2026
5f729ed
fix(predict): stop game details jump and chart overlap on tab switch …
caieu Jun 10, 2026
6d56f29
fix: Consolidate Agentic CLI connection loading into host adapter (#3…
ieow Jun 10, 2026
a02cd99
feat(predict): add search engagement tracking to the Predict feed (PR…
caieu Jun 10, 2026
54adf60
feat: change perps/predict page headers when user is navigating from …
jpuri Jun 10, 2026
69603e1
feat(predict): integrate portfolio module into redesigned Predict hom…
caieu Jun 10, 2026
b1bfc39
feat: bump `@metamask/eip-5792-middleware` to ^3.0.4 (#26664)
jiexi Jun 10, 2026
8f251d4
test(e2e): migrate base framework to use resolver and EncapsulatedEle…
cmd-ob Jun 10, 2026
b3e7eb8
fix(notifications): suppress duplicate toasts for quickbuy trades (#3…
xavier-brochard Jun 10, 2026
1db8f0f
feat: MUSD-954 add "Paid by MetaMask" for Money account deposits when…
Matt561 Jun 10, 2026
5a6271b
chore: remove unused CollectiblesDetails route and CollectibleModal (…
weitingsun Jun 10, 2026
f875568
fix: add Solana, Tron and Bitcoin chips to the Quick Buy receive view…
xavier-brochard Jun 10, 2026
adbf44c
fix(card): use slide-from-bottom presentation for Card routes (#31487)
Brunonascdev Jun 10, 2026
155527c
fix: drive Quick Buy source and dest balances off live controller sta…
xavier-brochard Jun 10, 2026
a527699
feat: `HeaderBase` (pilot migration) (#29137)
kirillzyusko Jun 10, 2026
7ecf493
chore: pass feature_id to Unified SwapBridge events (#31230)
infiniteflower Jun 10, 2026
207aea5
feat(card): add money account card linkage analytics (#30850)
Brunonascdev Jun 10, 2026
7929023
fix: remove RiveRenderer.defaultRenderer Canvas override on Android t…
vinnyhoward Jun 10, 2026
23b52d7
feat(predict): Add generic Predict feed route and deeplink handling (…
MarioAslau Jun 10, 2026
59061c8
ci: integrate Appium smoke E2E into CI pipeline (#31182)
cmd-ob Jun 10, 2026
0356eb4
refactor(MainNavigator): Migrate ConfirmAddAsset and DeFiProtocolPosi…
weitingsun Jun 10, 2026
198c251
feat(analytics): track Address List Viewed event (TMCU-858) (#31504)
wachunei Jun 11, 2026
d5c916f
refactor(ramp): migrate aggregator BuildQuote to HeaderStandard (#31519)
weitingsun Jun 11, 2026
4dc02bc
fix: change 'Money balance' label to 'Money account' on perps and pre…
jpuri Jun 11, 2026
d7023ae
fix(ramp): fiat order details navigation from activity and BuildQuote…
amitabh94 Jun 11, 2026
b414875
chore(rewards): UI audit (#31503)
sophieqgu Jun 11, 2026
beaffba
fix: remove max options from money deposit pages (#31532)
jpuri Jun 11, 2026
d4c14d8
feat(ci): add per-directive blocking flag to PR template checks (MCWP…
NicolasMassart Jun 11, 2026
f92a4b9
feat: mobile show all trades in the trade list (#31515)
Bigshmow Jun 11, 2026
2ef79d7
fix(ci): narrow validator return type to exclude blocking field (#31542)
NicolasMassart Jun 11, 2026
95bad08
docs(perps): update MetaMetrics reference with missing events and pro…
michalconsensys Jun 11, 2026
6087486
feat(rewards): gate VIP features behind feature flag (#31531)
VGR-GIT Jun 11, 2026
a08fede
feat(quickbuy): red/green trade toggle, slider grip haptics, and Figm…
joaosantos15 Jun 11, 2026
0a54906
fix: make Select Quote bottom sheet scrollable when 4+ quotes are sho…
zone-live Jun 11, 2026
5995ac5
fix: resolve same-chain Solana post-trade status (#31539)
bfullam Jun 11, 2026
0dd6294
feat(money): update send action icon and copy, align add/send funds s…
Kureev Jun 11, 2026
fd1d5ad
fix(money): route home-card Add/Earn CTA to direct mUSD deposit (MUSD…
Kureev Jun 11, 2026
7be2ddd
test: Sync Feature Flag Registry - 2026-06-02 01:57 UTC (#30909)
github-actions[bot] Jun 11, 2026
782493c
fix: token selection in withdraw money account page (#31535)
jpuri Jun 11, 2026
fe7877a
fix(perps): prevent Android crash in tutorial carousel Rive animation…
michalconsensys Jun 11, 2026
e207081
fix(money): direct mUSD Add routing & deposit screen padding (MUSD-86…
Kureev Jun 11, 2026
f9dff61
fix: display wallet name next to From/To labels in account picker, if…
jpuri Jun 11, 2026
3f60d87
feat: update World Cup event count in PredictionsSection and related …
PatrykLucka Jun 11, 2026
abe3d6b
chore(perps): bump @metamask/perps-controller to 8.1.0 (#31537)
abretonc7s Jun 11, 2026
7b4e98c
chore: replace BottomSheet with BottomSheetDialog in QuickBuy to remo…
zone-live Jun 11, 2026
8196fc8
fix: compliance switch account race (#31114)
geositta Jun 11, 2026
d144976
fix: error icon ignores color prop due to hardcoded svg fill (TSA-662…
xavier-brochard Jun 11, 2026
d4159cb
feat(perps): market detail - Magnifying glass shortcut to category-fi…
abretonc7s Jun 11, 2026
6d37964
chore: bump money-account-upgrade-controller (#31552)
MoMannn Jun 11, 2026
78d94b3
fix(perps): fix display limit for open positions on Perps home page (…
abretonc7s Jun 11, 2026
df2e7c5
feat(ci): add run-performance label to force PR performance tests (MM…
javiergarciavera Jun 11, 2026
4ee99d8
fix(card): money onboarding stepper displaying "Get card" instead of …
Brunonascdev Jun 11, 2026
0e1ed7d
fix(swaps): suppress bridge post-trade notifications (#31549)
bfullam Jun 11, 2026
2aca9f4
chore: bump @metamask/assets-controllers to 109.0.0 (#31508)
gabrieledm Jun 11, 2026
b470975
feat(perf): send BrowserStack profiling metrics (FPS, CPU, memory) to…
javiergarciavera Jun 11, 2026
fafd355
feat: Perps Watchlist empty state (#31242)
gambinish Jun 11, 2026
c101846
fix(locales): update overflow text for event count in English localiz…
PatrykLucka Jun 11, 2026
07bbc3e
fix: [MUSD-900] money add would close with pending transaction (#31143)
Jwhiles Jun 11, 2026
d60e751
feat(analytics): track External Link Clicked on block explorer taps (…
wachunei Jun 11, 2026
60627b1
chore: New Crowdin Translations by GitHub Action cp-7.81.0 (#30563)
metamaskbotv2[bot] Jun 11, 2026
728ae54
feat(ramp): validate fiat amount against provider buy limits (#31479)
amitabh94 Jun 11, 2026
cdc5397
fix(pure-black): restore selected state visibility for network cells …
vinnyhoward Jun 11, 2026
d333a48
feat: add swap/bridge to ARC mainnet (#31413)
maxime-oe Jun 11, 2026
69b9577
chore(pure-black): elevate ActionModal surface; remove orphan CustomA…
vinnyhoward Jun 11, 2026
0735fbe
fix: aI market summary shows trade buttons when OI cap is reached (#3…
abretonc7s Jun 11, 2026
f1572cf
test(e2e): make Gestures and Assertions cross-framework by default (#…
cmd-ob Jun 11, 2026
73a6e2c
fix(swaps): preserve destination token (#31577)
SteP-n-s Jun 11, 2026
32573f0
chore: rewards routes to use native stack (#31227)
weitingsun Jun 11, 2026
f5d4ba1
feat: migrate zkSync Era default RPC to Infura (#31562)
cryptodev-2s Jun 11, 2026
a27f557
feat: refactor deeplink handlers with startup intents [GE-274] (#31160)
baptiste-marchand Jun 11, 2026
b2ef1b5
fix(card): clear Card authentication data when the user resets the ap…
Brunonascdev Jun 11, 2026
9cfce37
test(e2e): use 10.0.2.2 as Metro host on Android dev picker dismissal…
cmd-ob Jun 11, 2026
ab7fb4d
feat: gate asset details Quick Buy behind A/B test flag (TSA-612) (#3…
joaosantos15 Jun 11, 2026
31cb4c2
chore: upgrade @metamask/design-system-react-native to v0.29.0 (#31512)
georgewrmarshall Jun 11, 2026
12595b5
feat: improve notification settings toggles [GE-255] (#31399)
baptiste-marchand Jun 11, 2026
6b33a1b
fix: Fix resolving transaction type for tooltip (#31567)
OGPoyraz Jun 11, 2026
2ea4548
refactor: Refactor accounts-related controllers to remove duplicate m…
Mrtenz Jun 11, 2026
ee898f8
fix(card): refresh-and-retry on 401 with forced logout fallback (#31587)
Brunonascdev Jun 11, 2026
019160f
chore(runway): cherry-pick refactor: feature flag watchlist cp-7.82.0…
runway-github[bot] Jun 12, 2026
c1d5af1
[skip ci] Bump version number to 5441
metamaskbot Jun 12, 2026
7cf75f7
chore(runway): cherry-pick fix: Removed extra paddings below checklis…
runway-github[bot] Jun 12, 2026
3f9f6e8
[skip ci] Bump version number to 5458
metamaskbot Jun 12, 2026
d88f9c7
chore(runway): cherry-pick refactor(perps): standardize Perps homepag…
runway-github[bot] Jun 13, 2026
70aa547
chore(runway): cherry-pick fix(predict): fix scoreboard score cutoff …
runway-github[bot] Jun 13, 2026
f9963b7
chore(runway): cherry-pick fix(predict): chart content cut off on iPh…
runway-github[bot] Jun 13, 2026
9ba8a1e
[skip ci] Bump version number to 5463
metamaskbot Jun 13, 2026
ee2e046
chore(runway): cherry-pick fix: revert list item use to temp componen…
runway-github[bot] Jun 13, 2026
c3a091d
[skip ci] Bump version number to 5466
metamaskbot Jun 13, 2026
aaa16ef
chore(runway): cherry-pick feat(rewards): show VIP tag in referral co…
runway-github[bot] Jun 15, 2026
3555b32
[skip ci] Bump version number to 5476
metamaskbot Jun 15, 2026
c571973
chore(runway): cherry-pick chore: removed trailing slash for arc expl…
runway-github[bot] Jun 15, 2026
25d7bdf
[skip ci] Bump version number to 5487
metamaskbot Jun 15, 2026
33abc51
fix: batch sell submit not working (#31727)
infiniteflower Jun 15, 2026
cb33410
[skip ci] Bump version number to 5490
metamaskbot Jun 15, 2026
28aa782
chore(runway): cherry-pick fix(predict): add ES and IN to Predict geo…
runway-github[bot] Jun 16, 2026
8c1ea90
Cherry-picking commits from cherry-pick-7-82-0-1e03645 to release/7.8…
runway-github[bot] Jun 16, 2026
0a7cbf6
[skip ci] Bump version number to 5503
metamaskbot Jun 16, 2026
6fea42e
solve conflicts and merge release/7.82.0
tommasini Jun 16, 2026
2fa1a99
yarn deduplicateg
tommasini Jun 16, 2026
3c42a8b
chore(runway): cherry-pick fix: make batch sell sliders update token …
runway-github[bot] Jun 16, 2026
3bb0830
[skip ci] Bump version number to 5505
metamaskbot Jun 16, 2026
04d19f1
chore: sync stable into release/7.82.0 (#31674)
metamaskbotv2[bot] Jun 16, 2026
41745df
[skip ci] Bump version number to 5506
metamaskbot Jun 16, 2026
ec99b89
chore(runway): cherry-pick chore: expand pressable region to make sel…
runway-github[bot] Jun 16, 2026
388042c
[skip ci] Bump version number to 5508
metamaskbot Jun 16, 2026
522de60
Cherry-picking commits from main to release/7.82.0 for PR #31648 (#31…
runway-github[bot] Jun 16, 2026
19419c2
[skip ci] Bump version number to 5511
metamaskbot Jun 16, 2026
2a86564
Cherry-picking commits from main to release/7.82.0 for PR #31717 (#31…
runway-github[bot] Jun 16, 2026
8d54877
fix: problematic dismissable ref (#31658) (#31750)
gambinish Jun 16, 2026
2f99ed9
[skip ci] Bump version number to 5514
metamaskbot Jun 16, 2026
060727a
chore(runway): cherry-pick perf(predict): fix JS-thread FPS collapse …
runway-github[bot] Jun 16, 2026
ed70c86
chore(runway): cherry-pick fix: Readded spacing between top movers se…
runway-github[bot] Jun 16, 2026
06981a7
chore(runway): cherry-pick fix: wait for nav-ready event before parsi…
runway-github[bot] Jun 16, 2026
6ed0781
[skip ci] Bump version number to 5523
metamaskbot Jun 16, 2026
703eb80
chore(runway): cherry-pick fix: stx always being disabled for non eth…
runway-github[bot] Jun 16, 2026
816f0c8
chore(runway): cherry-pick fix(predict): normalize moneyline betslip …
runway-github[bot] Jun 16, 2026
fb7da1a
[skip ci] Bump version number to 5524
metamaskbot Jun 16, 2026
2063356
Cherry-picking commits from main to release/7.82.0 for PR #31801 (#31…
runway-github[bot] Jun 16, 2026
a6a1730
Cherry-picking commits from main to release/7.82.0 for PR #31769 (#31…
runway-github[bot] Jun 16, 2026
9d29711
[skip ci] Bump version number to 5531
metamaskbot Jun 16, 2026
7bab524
chore(runway): cherry-pick feat: swap CTAs on native token page ARC m…
runway-github[bot] Jun 17, 2026
f0111b8
[skip ci] Bump version number to 5537
metamaskbot Jun 17, 2026
40affd2
chore(runway): cherry-pick fix: use the proper stx status for the sou…
runway-github[bot] Jun 17, 2026
9f2335d
Cherry-picking commits from cherry-pick-7-81-1-7b0e275 to release/7.8…
tommasini Jun 15, 2026
a7edba7
chore(runway): cherry-pick fix: Telegram OAuth login on Android 16 cp…
runway-github[bot] Jun 17, 2026
c130496
[skip ci] Bump version number to 5542
metamaskbot Jun 17, 2026
1862b2c
fix: dismiss Batch Sell final review bottom sheet after submit (#3184…
bfullam Jun 17, 2026
6440ee5
[skip ci] Bump version number to 5546
metamaskbot Jun 17, 2026
ca6f8d1
fix(tests): resolve TS2451 duplicate declarations and stale mockSelec…
tommasini Jun 17, 2026
af21117
Merge branch 'release/7.82.0' into stable-sync-release-7.82.0
tommasini Jun 17, 2026
dbc085f
chore(runway): cherry-pick fix: set pending operation address using t…
runway-github[bot] Jun 17, 2026
7bb2361
[skip ci] Bump version number to 5552
metamaskbot Jun 17, 2026
78576a9
chore: sync stable into release/7.82.0 (#31913)
metamaskbotv2[bot] Jun 17, 2026
b16f73f
[skip ci] Bump version number to 5553
metamaskbot Jun 17, 2026
adc57f2
merge release/7.82.0 and solve conflicts
tommasini Jun 18, 2026
96d44ef
Cherry-picking commits from main to release/7.82.0 for PR #31943 (#31…
runway-github[bot] Jun 18, 2026
edb94e8
[skip ci] Bump version number to 5566
metamaskbot Jun 18, 2026
a19863c
Cherry-picking commits from main to release/7.82.0 for PR #31822 (#31…
runway-github[bot] Jun 18, 2026
a22c524
Cherry-picking commits from main to release/7.82.0 for PR #31759 (#31…
runway-github[bot] Jun 18, 2026
d740ecf
Cherry-picking commits from main to release/7.82.0 for PR #31646 (#31…
runway-github[bot] Jun 18, 2026
e767347
chore(runway): cherry-pick fix(rewards): navigation predict the pitch…
runway-github[bot] Jun 18, 2026
46fd878
Cherry-picking commits from main to release/7.82.0 for PR #31505 (#31…
runway-github[bot] Jun 18, 2026
0fe9a5a
Cherry-picking commits from main to release/7.82.0 for PR #31555 (#31…
runway-github[bot] Jun 18, 2026
cc24167
[skip ci] Bump version number to 5570
metamaskbot Jun 18, 2026
64a63af
chore(runway): cherry-pick fix(predict): exclude child markets from W…
runway-github[bot] Jun 18, 2026
ffada18
[skip ci] Bump version number to 5571
metamaskbot Jun 18, 2026
ba5723f
chore: remove ota version (#32009)
tommasini Jun 18, 2026
c068105
[skip ci] Bump version number to 5572
metamaskbot Jun 18, 2026
1265242
fix(money): restore Money Home files broken by release merge (#32033)
Brunonascdev Jun 18, 2026
a07daac
[skip ci] Bump version number to 5580
metamaskbot Jun 18, 2026
e2ee21a
chore(runway): cherry-pick fix(rewards): apply bottom safe-area inset…
runway-github[bot] Jun 19, 2026
ceb37d1
[skip ci] Bump version number to 5582
metamaskbot Jun 19, 2026
292ddfa
chore(runway): cherry-pick refactor(explore): standardize Explore hom…
runway-github[bot] Jun 19, 2026
2291a4c
chore(runway): cherry-pick feat(rewards): add priority support entry …
runway-github[bot] Jun 19, 2026
132246e
chore(runway): cherry-pick fix(predict): keep live sport scoreboard d…
runway-github[bot] Jun 19, 2026
1ad3feb
[skip ci] Bump version number to 5588
metamaskbot Jun 19, 2026
cca18fe
chore(runway): cherry-pick fix: Restore support for percentage before…
runway-github[bot] Jun 19, 2026
9a33ba5
[skip ci] Bump version number to 5589
metamaskbot Jun 19, 2026
e1ff0f0
chore(runway): cherry-pick ci: update sonarcloud org id (#32092)
runway-github[bot] Jun 19, 2026
8b38324
[skip ci] Bump version number to 5598
metamaskbot Jun 19, 2026
44c2aa5
Cherry-picking commits from cherry-pick-7-82-0-01dd067 to release/7.8…
runway-github[bot] Jun 19, 2026
0b1e142
chore(runway): cherry-pick chore: remove obsolete localized message t…
runway-github[bot] Jun 19, 2026
6b40dbe
chore(runway): cherry-pick fix(rewards): update VIP referee dashboard…
runway-github[bot] Jun 19, 2026
c366603
[skip ci] Bump version number to 5613
metamaskbot Jun 19, 2026
efc9191
release: release-changelog/7.82.0 (#31599)
metamaskbotv2[bot] Jun 19, 2026
c264305
[skip ci] Bump version number to 5618
metamaskbot Jun 19, 2026
8b50ffe
chore: trigger CI
sleepytanya Jun 19, 2026
91ee541
Format CHANGELOG.md
sleepytanya Jun 19, 2026
e77b646
[skip ci] Bump version number to 5619
metamaskbot Jun 20, 2026
401c83c
trigger ci
tommasini Jun 22, 2026
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
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,6 @@ app/components/UI/CollectibleContractOverview @MetaMask/metamask-assets
app/components/UI/CollectibleContracts @MetaMask/metamask-assets
app/components/UI/CollectibleDetectionModal @MetaMask/metamask-assets
app/components/UI/CollectibleMedia @MetaMask/metamask-assets
app/components/UI/CollectibleModal @MetaMask/metamask-assets
app/components/UI/CollectibleOverview @MetaMask/metamask-assets
app/components/UI/ConfirmAddAsset @MetaMask/metamask-assets
app/components/UI/DeFiPositions @MetaMask/metamask-assets
Expand Down Expand Up @@ -375,6 +374,10 @@ tests/websocket/ @MetaMask/qa
.github/actions/smart-e2e-selection/ @MetaMask/qa
.github/workflows/ai-pr-risk-analysis.yml @MetaMask/qa
.github/workflows/auto-label-not-ready-for-e2e.yml @MetaMask/qa
.github/workflows/run-appium-e2e-workflow.yml @MetaMask/qa
.github/workflows/run-appium-smoke-tests-android.yml @MetaMask/qa
.github/workflows/run-appium-smoke-tests-ios.yml @MetaMask/qa
.github/workflows/prebuild-wda-ios.yml @MetaMask/qa
.github/workflows/run-e2e-workflow.yml @MetaMask/qa
.github/workflows/run-e2e-api-specs.yml @MetaMask/qa
.github/workflows/run-e2e-regression-tests-android.yml @MetaMask/qa
Expand Down
3 changes: 2 additions & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ There are also plenty of open issues we'd love help with. Search the [`good firs
If you're picking up a bounty or an existing issue, feel free to ask clarifying questions on the issue as you go about your work.

### Submitting a pull request

When you're done with your project / bugfix / feature and ready to submit a PR, there are a couple guidelines we ask you to follow:

- [ ] **Make sure you followed our [`coding guidelines`](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md)**: These guidelines aim to maintain consistency and readability across the codebase. They help ensure that the code is easy to understand, maintain, and modify, which is particularly important when working with multiple contributors.
Expand All @@ -25,6 +26,6 @@ When you're done with your project / bugfix / feature and ready to submit a PR,

### Shadow CI jobs

CI jobs prefixed with `[shadow]` (e.g., from `ci-namespace-shadow.yml`) are **advisory only** and never gate merge. They run the same test suite on Namespace runners for performance benchmarking. If a shadow job fails, it does not indicate a problem with your PR -- it reflects the state of the Namespace runner migration trial.
The Namespace shadow CI (`ci-namespace-shadow.yml`) no longer runs automatically: its automatic triggers (PRs, pushes to `main`, hourly schedule) are disabled now that the Phase 5d benchmark is complete. It is retained for on-demand runs via manual `workflow_dispatch`, or you can dispatch `ci.yml` directly with `runner_provider=namespace`. Any `[shadow]`-prefixed jobs were always **advisory only** and never gated merge.

And that's it! Thanks for helping out.
14 changes: 11 additions & 3 deletions .github/actions/setup-e2e-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@ inputs:
— Detox does not require the Pods directory to run tests.
required: false
default: 'false'
install-applesimutils:
description: >-
Whether to install applesimutils (iOS only). Required by Detox but not
by Appium — set to 'false' for Appium test jobs
required: false
default: 'true'

runs:
using: 'composite'
Expand Down Expand Up @@ -176,7 +182,9 @@ runs:
run: |
set -euo pipefail
sudo mkdir -p "$CACHE_PATH" /opt/android-sdk/.temp
sudo chown -R "$(id -u):$(id -g)" "$CACHE_PATH" /opt/android-sdk/.temp
# chown the parent dir too so sdkmanager can create x86_64.backup
# next to x86_64 during installation (requires write on the parent).
sudo chown -R "$(id -u):$(id -g)" "$(dirname "$CACHE_PATH")" /opt/android-sdk/.temp
shell: bash

# Restore exact system image from cache (GitHub only — Namespace uses nscloud-cache-action in callers)
Expand Down Expand Up @@ -444,7 +452,7 @@ runs:
COCOAPODS_DISABLE_STATS: 'true'

- name: Install applesimutils
if: ${{ inputs.platform == 'ios' }}
if: ${{ inputs.platform == 'ios' && inputs.install-applesimutils == 'true' }}
run: |
if ! brew list applesimutils &>/dev/null; then
brew tap wix/brew
Expand All @@ -455,6 +463,6 @@ runs:
shell: bash

- name: Check simutils
if: ${{ inputs.platform == 'ios' }}
if: ${{ inputs.platform == 'ios' && inputs.install-applesimutils == 'true' }}
run: xcrun simctl list devices
shell: bash
46 changes: 33 additions & 13 deletions .github/actions/smart-e2e-selection/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,11 @@ outputs:
description: 'AI confidence score (0-100)'
value: ${{ steps.final-outputs.outputs.ai_confidence }}
ai_performance_test_tags:
description: 'Performance test tags to run (JSON array format, empty [] means no performance tests)'
description: "Performance test tags to run. Empty string '' = run all (conservative fallback). Literal '[]' = skip (AI found no relevant changes). '[\"@Tag\",...]' = run specific tags."
value: ${{ steps.final-outputs.outputs.ai_performance_test_tags }}
ai_performance_test_reasoning:
description: 'Reasoning for the performance test selection'
value: ${{ steps.final-outputs.outputs.ai_performance_test_reasoning }}

runs:
using: 'composite'
Expand Down Expand Up @@ -134,18 +137,27 @@ runs:
run: |
echo "ai_e2e_test_tags=[\"ALL\"]" >> "$GITHUB_OUTPUT"
echo "ai_confidence=0" >> "$GITHUB_OUTPUT"
echo "ai_performance_test_tags=[]" >> "$GITHUB_OUTPUT"
# Empty string = run all performance tests (conservative fallback).
# '[]' is reserved for "AI ran successfully and found no relevant changes".
echo "ai_performance_test_tags=" >> "$GITHUB_OUTPUT"

if [[ "${{ steps.check-skip-label.outputs.SKIP }}" == "true" ]]; then
echo "⏭️ Skipping AI analysis - skip-smart-e2e-selection label found"
echo "SKIPPED=true" >> "$GITHUB_OUTPUT"
echo "SKIP_REASON=skip-smart-e2e-selection label found" >> "$GITHUB_OUTPUT"
echo "ai_confidence=100" >> "$GITHUB_OUTPUT"
# Skip label → run all E2E (ALL) but do NOT launch the PR performance workflow.
# Performance tests are expensive and the skip label only opts out of AI selection,
# not into a full performance run. Use '[]' so run-performance-tests-pr is skipped.
echo "ai_performance_test_tags=[]" >> "$GITHUB_OUTPUT"
elif [[ "${{ steps.check-release-target.outputs.SKIP }}" == "true" ]]; then
echo "⏭️ Skipping AI analysis - PR targets a release or stable branch"
echo "SKIPPED=true" >> "$GITHUB_OUTPUT"
echo "SKIP_REASON=PR targets a release or stable branch (release/* or stable)" >> "$GITHUB_OUTPUT"
echo "ai_confidence=100" >> "$GITHUB_OUTPUT"
# Release/stable target → the scheduled performance workflow covers these branches.
# No need to also trigger the PR performance job.
echo "ai_performance_test_tags=[]" >> "$GITHUB_OUTPUT"
else
echo "✅ Running AI analysis for PR #$PR_NUMBER"
# The script will generate the GH output variables - don't fail if script errors
Expand All @@ -156,31 +168,39 @@ runs:
id: final-outputs
if: always()
shell: bash
env:
AI_E2E_TAGS: ${{ steps.ai-analysis.outputs.ai_e2e_test_tags }}
AI_CONFIDENCE: ${{ steps.ai-analysis.outputs.ai_confidence }}
AI_PERF_TAGS: ${{ steps.ai-analysis.outputs.ai_performance_test_tags }}
AI_PERF_REASONING: ${{ steps.ai-analysis.outputs.ai_performance_test_reasoning }}
run: |
TAGS='${{ steps.ai-analysis.outputs.ai_e2e_test_tags }}'
if [[ -n "$TAGS" ]]; then
printf 'ai_e2e_test_tags=%s\n' "$TAGS" >> "$GITHUB_OUTPUT"
if [[ -n "$AI_E2E_TAGS" ]]; then
printf 'ai_e2e_test_tags=%s\n' "$AI_E2E_TAGS" >> "$GITHUB_OUTPUT"
else
echo 'ai_e2e_test_tags=["ALL"]' >> "$GITHUB_OUTPUT"
fi
echo "ai_confidence=${{ steps.ai-analysis.outputs.ai_confidence }}" >> "$GITHUB_OUTPUT"
# Performance test tags (empty array means no performance tests)
PERF_TAGS='${{ steps.ai-analysis.outputs.ai_performance_test_tags }}'
if [[ -n "$PERF_TAGS" ]]; then
printf 'ai_performance_test_tags=%s\n' "$PERF_TAGS" >> "$GITHUB_OUTPUT"
else
echo 'ai_performance_test_tags=[]' >> "$GITHUB_OUTPUT"
fi
printf 'ai_confidence=%s\n' "$AI_CONFIDENCE" >> "$GITHUB_OUTPUT"
# Performance test tags: empty string = run all (fallback); '[]' = skip (AI found no changes)
printf 'ai_performance_test_tags=%s\n' "$AI_PERF_TAGS" >> "$GITHUB_OUTPUT"
# Performance test reasoning (multi-line — must use heredoc format)
{
echo 'ai_performance_test_reasoning<<GHEOF'
echo "$AI_PERF_REASONING"
echo 'GHEOF'
} >> "$GITHUB_OUTPUT"

- name: Display AI Analysis Outputs
if: always()
shell: bash
env:
PERF_REASONING: ${{ steps.final-outputs.outputs.ai_performance_test_reasoning }}
run: |
echo "📊 Final GitHub Action Outputs:"
echo "================================"
echo "ai_e2e_test_tags: ${{ steps.final-outputs.outputs.ai_e2e_test_tags }}"
echo "ai_confidence: ${{ steps.final-outputs.outputs.ai_confidence }}"
echo "ai_performance_test_tags: ${{ steps.final-outputs.outputs.ai_performance_test_tags }}"
echo "ai_performance_test_reasoning: $PERF_REASONING"
echo "================================"

- name: Delete previous comments
Expand Down
4 changes: 4 additions & 0 deletions .github/guidelines/LABELING_GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ Using any of these labels should be exceptional in case of CI friction and urgen

- **skip-smart-e2e-selection**: Bypasses the AI-powered Smart E2E Selection so that the full E2E test suite runs instead of an AI-picked subset. This label does **not** force E2E builds/tests to run on a PR that would otherwise skip them (e.g. docs-only changes). Whether E2E runs at all is determined by path filters, branch, and other skip labels — not this label.

### Force Performance Tests

- **run-performance-tests**: Forces the PR performance E2E workflow to run (all performance tests on Android low-profile devices), even when Smart E2E Selection would skip them (e.g. no performance-relevant changes detected, `skip-e2e`, or `pr-not-ready-for-e2e`). Adding or removing this label re-triggers CI. Not honored on fork PRs.

### Block merge if any is present

- **needs-qa**: The PR requires a full manual QA prior to being merged and added to a release.
Expand Down
7 changes: 5 additions & 2 deletions .github/pull-request-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ markdown and must NOT be removed or edited without updating the validator regist
type=manual-testing Section must have real testing steps or an explicit N/A.
type=screenshot Section must have evidence (image/URL) or an explicit N/A.
type=checklist Section must have all checkboxes consciously checked.
required=true|false Whether a missing/invalid section blocks the PR check.
required=true|false Whether a missing/invalid section runs the validator at all.
blocking=true|false Whether a failure of this check fails the CI workflow.
Default: false — failures are shown as warnings in the sticky
comment but do not block the PR.

Sections without a directive are checked for structural presence only.
-->
Expand All @@ -36,7 +39,7 @@ Write a short description of the changes included in this pull request, also inc

## **Changelog**

<!-- mms-check: type=changelog required=true -->
<!-- mms-check: type=changelog required=true blocking=true -->

<!--
If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either:
Expand Down
Loading
Loading