Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
243 commits
Select commit Hold shift + click to select a range
1780327
chore(release): Bump main version to 7.64.0 (#25069)
metamaskbot Jan 22, 2026
c99cb33
feat: swaps new asset picker (#22712)
bfullam Jan 22, 2026
18232e8
chore: Replace userEntryAuth and appTriggeredAuth with unlockWallet o…
Cal-L Jan 22, 2026
87bc552
fix(predict): cp-7.63.0 add transaction validation and improve error …
caieu Jan 22, 2026
01483b6
chore: enhance UI development guidelines with component hierarchy and…
georgewrmarshall Jan 23, 2026
4b45ef0
chore: Move auth logic from App.tsx to sagas and use `unlockWallet` (…
Cal-L Jan 23, 2026
94a36d7
feat: add retries to android system image install (#25050)
christopherferreira9 Jan 23, 2026
c6a28b6
fix: skip biometric cancellation error recording in mixpanel (#25087)
grvgoel81 Jan 23, 2026
f3151a6
fix: swaps network filtering (#25092)
bfullam Jan 23, 2026
e3951e9
fix(perps): sentry issue improvements (#25029)
abretonc7s Jan 23, 2026
ebb48c4
fix: network name in token details (#25106)
bergarces Jan 23, 2026
bb15712
feat: import SRP continue button and keyboard changes added (#24693)
grvgoel81 Jan 23, 2026
45eb4b6
fix: set unset OPTIN_META_METRICS_UI_SEEN at onboarding SL-467 (#24979)
ieow Jan 23, 2026
6325038
test: adds tiny delay before placing a bet to avoid race conditions (…
christopherferreira9 Jan 23, 2026
ee02bf7
test: adds multiaccount v4 mocks (#25094)
christopherferreira9 Jan 23, 2026
9e13887
feat(ramps): add AmountInput screen for Unified Buy V2 (#24814)
AxelGes Jan 23, 2026
d82ec08
chore: resolve PR #24906 nitpicks (#25064)
gantunesr Jan 23, 2026
a2d49c6
feat(predict): cp-7.63.0 add game properties to analytics events (#25…
matallui Jan 23, 2026
5edd980
fix(ramp): remove background from payment method list item icons (#25…
wachunei Jan 23, 2026
9237304
chore: add timestamp to TestFlight changelog description (#25121)
tommasini Jan 23, 2026
3c57620
chore: moves api-specs and seeder to tests (#25095)
christopherferreira9 Jan 23, 2026
75a3ada
fix(ramp): replace deposit header close button with back button (#25126)
wachunei Jan 23, 2026
1949376
fix(ramp): remove borders from deposit selectors for visual consisten…
wachunei Jan 23, 2026
de1c060
chore: Improve unlockWallet password check (#25091)
Cal-L Jan 23, 2026
dfb0881
refactor: Perps market list from swipeable tab view to flatlist filte…
gambinish Jan 23, 2026
1717139
chore: Refactor OAuthHydration screen with `unlockWallet` (#24572)
Cal-L Jan 23, 2026
67f890f
feat(predict): cp-7.63.0 add Predict Superbowl sport card to wallet C…
caieu Jan 23, 2026
e6ee768
test: add MM Connect Wagmi and EVM Appwright E2E tests (#21978)
jiexi Jan 23, 2026
10e2fae
test: Removed legacy swap test code and selectors (#24947)
davibroc Jan 23, 2026
42dd083
feat: create new useAnalytics hook to replace useMetrics (#25045)
NicolasMassart Jan 23, 2026
06a4e3c
fix(predict): cp-7.63.0 general UI fixes to live games (#25130)
matallui Jan 23, 2026
9cf3c29
chore: Disable experimental workflows (#25149)
dan437 Jan 24, 2026
63159f5
refactor: remove `scrypt` key cache layer (#25047)
ccharly Jan 26, 2026
83fa5c2
test: added e2e tests for Tron network (#24950)
javiergarciavera Jan 26, 2026
6ca25dd
fix: compute spread from HL bbo top-of-book feed cp-7.63.0 (#25145)
geositta Jan 26, 2026
f2a00af
style: (cp-7.63.0) trending view browser button fix (#25146)
Prithpal-Sooriya Jan 26, 2026
e162932
chore: moves resources, module mocking and docs to tests (#25167)
christopherferreira9 Jan 26, 2026
0f5817f
test: update `DEFAULT_FEATURE_FLAGS_ARRAY` for `enableMultichainAccou…
gantunesr Jan 26, 2026
1cdf51a
fix: [Trending tokens] filters overflow cp-7.63.0 (#25175)
juanmigdr Jan 26, 2026
f57fc6a
chore: improve error handling on perps for UI (#24986)
aganglada Jan 26, 2026
9024d92
feat: support EIP-5792 methods over WalletConnect (#25114)
wenfix Jan 26, 2026
54217a4
feat: enhance claimable reward display for small amounts in useMerklR…
PatrykLucka Jan 26, 2026
d41a910
chore: bump tron-wallet-snap package to 1.19.2 (#25166)
Julink-eth Jan 26, 2026
18f5d27
feat: shield-deep-link (#23663)
tuna1207 Jan 26, 2026
64241ce
fix: [Explore] predict text overflows from card cp-7.63.0 (#25170)
juanmigdr Jan 26, 2026
6d470fc
fix: [Explore] search text is invisible on android cp-7.63.0 (#25180)
juanmigdr Jan 26, 2026
b7e231d
fix: [Explore] design issues cp-7.63.0 (#25165)
juanmigdr Jan 26, 2026
56aff9c
chore: remove legacy accounts hook code (pre BIP-44) (#24836)
gantunesr Jan 26, 2026
a113607
chore: Remove `ComposableController` (#21420)
Gudahtt Jan 26, 2026
302ab39
feat(card): use unified deeplink event instead of custom card event (…
Brunonascdev Jan 26, 2026
91ad46f
feat(perps): sdk reconnect on native socket event (#25022)
abretonc7s Jan 26, 2026
0436868
Merge origin/main into stable-main-7.65.0
metamaskbot Jan 26, 2026
ec8b3b8
fix: cp-7.63.0 bump transaction-pay-controller to 11.1.0 (#25179)
matthewwalsh0 Jan 26, 2026
ef2a780
fix: Fix chainId assertions in `eth_sendTransaction` and `eth_signTyp…
jiexi Jan 26, 2026
a4a0d88
fix: Aggregator guard on perps banner in detail screen cp-7.63.0 (#25…
gambinish Jan 26, 2026
735599f
test: added btc tests and updated default fixture to support BIP44 (#…
javiergarciavera Jan 26, 2026
d2ce5c2
feat: MUSD-235 brought back the MetaMask fee row for mUSD Conversion …
Matt561 Jan 26, 2026
c99482b
chore(perps): remove withdrawals restrictions (#25189)
aganglada Jan 26, 2026
59dd549
chore: move tools to tests (#25198)
christopherferreira9 Jan 26, 2026
903f214
fix(predict): cp-7.63.0 override team colors for Super Bowl (#25204)
matallui Jan 26, 2026
9c0dd5c
chore(release): sync stable to main for version 7.65.0 (#25200)
metamaskbotv2[bot] Jan 26, 2026
018561b
test: performance workflow changes (#24134)
javiergarciavera Jan 26, 2026
897ce21
chore: Refactor `LockScreen` and move auth logic to sagas (#24694)
Cal-L Jan 26, 2026
af5d177
test: Add `SnapBridge` unit tests (#25184)
FrederikBolding Jan 26, 2026
ffa928d
fix(predict): cp-7.63.0 override Super Bowl event title (#25206)
matallui Jan 26, 2026
6b7b192
fix: MUSD-234 update navbar on the mUSD conversion screen (#25135)
Matt561 Jan 26, 2026
0d5a046
fix: Add storage type to enforce Android access controls (#25152)
Cal-L Jan 26, 2026
bbffe08
fix(predict): cp-7.63.0 compact game card in explore tab (#25212)
matallui Jan 26, 2026
ab95858
fix(predict): ensure Polygon network exists before fetching Predict a…
caieu Jan 26, 2026
be4476a
feat: integrate Merkl Distributor contract for claimed rewards retrie…
PatrykLucka Jan 26, 2026
c560e11
fix(predict): cp-7.63.0 game picks not showing for claimable position…
matallui Jan 26, 2026
4882296
fix(predict): format PnL dollar value with 2 decimal places in sell p…
matallui Jan 26, 2026
7bd5d82
fix(predict): update Seahawks team color for accessibility cp-7.63.0 …
matallui Jan 26, 2026
609c4f4
fix(predict): remove game tag filter from market queries (#25231)
matallui Jan 26, 2026
c00cc10
chore: enable ota version display in production builds (#25225)
weitingsun Jan 26, 2026
e8443d5
feat: convert musd transaction details update (#24551)
nickewansmith Jan 27, 2026
93fdb44
feat: Browser UX - Gestures Implementation (#24851)
MarioAslau Jan 27, 2026
61f3ca0
fix: google-one-tap-failure (#24936)
ieow Jan 27, 2026
f3519ab
fix: Fix layout flicker in confirmation gas fee row (#25161)
OGPoyraz Jan 27, 2026
05e24f2
fix: Remove `isEvm` guard from wallet actions perps button (#25239)
gambinish Jan 27, 2026
42ee18a
fix: Show token symbol on Send screen for tokens with zero balance (#…
dan437 Jan 27, 2026
ef17cc3
fix(card): onboarding textfields blocking user input on iOS (#25210)
Brunonascdev Jan 27, 2026
3b4b1c0
feat: pin selected token to top of asset picker list (#25226)
bfullam Jan 27, 2026
9aed975
chore: moves Tranding and Predict to tests (#25219)
christopherferreira9 Jan 27, 2026
732c3e5
fix: rehydration login cp-7.63.0 (#25246)
ieow Jan 27, 2026
0c85998
refactor(perps): rename interface to match core repo (#25245)
abretonc7s Jan 27, 2026
e8bf3bc
chore: remove support for token search on the browser (#25111)
juanmigdr Jan 27, 2026
f253ede
fix: update selectedGasFeeToken when payment token is selected for ga…
pedronfigueiredo Jan 27, 2026
4fc4e36
fix: remove back arrow from recipient account picker modal (#25207)
infiniteflower Jan 27, 2026
ba5c1f5
chore: moves wallet, accounts and analytics specs to tests (#25263)
christopherferreira9 Jan 27, 2026
f02c9e8
feat: enhance Merkl rewards handling with multi-chain support (#25259)
PatrykLucka Jan 27, 2026
5a66592
test: component view test fix testids (#25255)
racitores Jan 27, 2026
bb784c4
fix(ramp): display currency with correct decimal places in BuildQuote…
AxelGes Jan 27, 2026
ecd6daf
test: removed withSolanaFixture function (#25260)
javiergarciavera Jan 27, 2026
72fc669
chore: Updated perps home headers (#24995)
brianacnguyen Jan 27, 2026
1f42a46
fix: Android Safe Area View Explore Layout Issues (#25142)
Prithpal-Sooriya Jan 27, 2026
2b997a6
feat: add Slack notification for RC builds (#25071)
jake-perkins Jan 27, 2026
3330ce7
refactor(analytics): follow-up changes after PR #22076 (#24983)
NicolasMassart Jan 27, 2026
f777a11
fix(perps): Estimate new liquidation price using HL price and delta (…
geositta Jan 27, 2026
0324840
chore: stop using swaps fetchTokens function (#25109)
juanmigdr Jan 27, 2026
e8b815e
feat(ramps): add settings modal to BuildQuote screen (#25218)
AxelGes Jan 27, 2026
0e40c32
docs(perps): document websocket and http mitm for debugging (#25155)
abretonc7s Jan 27, 2026
6814c56
feat: add one-click Switch to Infura button for custom networks (#25054)
cryptodev-2s Jan 27, 2026
fa5adae
feat: MUSD-252 added "terms apply" link to musd conversion education …
Matt561 Jan 27, 2026
8ac5c76
test: fixes trending test (#25281)
christopherferreira9 Jan 27, 2026
f2f0daa
test: add skill functionality to test selection agent (#25073)
cortisiko Jan 27, 2026
857aff4
feat: add stock badge to ondo RWA Tokens cp-7.63.0 (#24740)
dawnseeker8 Jan 27, 2026
aa920ec
fix: Swaps metrics provider not set (#25010)
infiniteflower Jan 27, 2026
6e9455e
chore: Update headers for Explore page (#24997)
brianacnguyen Jan 28, 2026
1f27fc0
fix: add whenEngineReady check before seedless authentication (#25242)
grvgoel81 Jan 28, 2026
e6fc017
fix: adjust asset details cta text copy (#25294)
nickewansmith Jan 28, 2026
c18abf3
refactor(perps): prepare for core monorepo migration (#25303)
abretonc7s Jan 28, 2026
ca6f823
chore: adds performance tracing to musd convert 1-click (#25018)
nickewansmith Jan 28, 2026
5f3d172
fix: cp-7.63.0 Fix `mm_pay_quote_*` metrics (#25159)
OGPoyraz Jan 28, 2026
6027478
chore(ci): add component view test guidelines to Bugbot rules (#25275)
racitores Jan 28, 2026
ecb6a0e
feat(rewards): add Bitcoin and Tron account support for rewards (#24890)
VGR-GIT Jan 28, 2026
2462a0f
fix: missing stock badge on asset overview from trending token (#25288)
Akaryatrh Jan 28, 2026
28854be
chore: skip Sonar Cloud jobs on merge queue to optimize performance (…
tommasini Jan 28, 2026
93cc2a9
chore(rewards): modal copy changes for eos (#25313)
VGR-GIT Jan 28, 2026
3ce033d
feat: Add Multichain API support to Snaps (#24885)
FrederikBolding Jan 28, 2026
7cbc66f
chore: remove 'Powered by Relay' tooltip from conversion screen (#25318)
shane-t Jan 28, 2026
ee837dd
fix: don't pin selected asset if on different network (#25308)
bfullam Jan 28, 2026
9fd380d
fix: filter unclickable trending cp-7.63.0 (#25309)
juanmigdr Jan 28, 2026
c7cd456
refactor: adds tooltip to Bonus claim section and changes the way bon…
PatrykLucka Jan 28, 2026
7da1175
chore(rewards): remove remote feature flag dependencies from selector…
VGR-GIT Jan 28, 2026
7811279
test: Allow Smart E2E selector to include the Performance tests (#24961)
hjetpoluru Jan 28, 2026
991507e
fix: disable "switch tokens" button when destination network is not e…
bfullam Jan 28, 2026
4d2533f
fix(perps): geo-restrict modify and close cp-7.63.0 (#25314)
aganglada Jan 28, 2026
a517010
fix(ramp): update postal code input to allow punctuation (#25323)
wachunei Jan 28, 2026
cb2e27a
chore: remove legacy confirmation code (#24929)
OGPoyraz Jan 28, 2026
7af7bc7
feat: redirect user to homepage after claiming bonus (#25274)
PatrykLucka Jan 28, 2026
390ecfd
feat: integrate token list controller storage service (#24019)
sahar-fehri Jan 28, 2026
3dfa001
refactor(analytics): migrate Batch 1-3 and 1-7: platform team or no C…
NicolasMassart Jan 28, 2026
db8fa73
test: Normalize re-run CI workflow on skipped tags (#25324)
hjetpoluru Jan 28, 2026
bf4da46
chore: validate env expo (#25236)
weitingsun Jan 28, 2026
7b7bbb8
fix: Wrap navigation proxy using requestAnimationFrame (#25241)
Cal-L Jan 28, 2026
16b22b8
fix: align token balance update with confirmation status update (#25299)
nickewansmith Jan 28, 2026
59fc95f
feat(analytics): add client in metadata for smartTransaction and rela…
rarquevaux Jan 28, 2026
67d8043
feat(earn): add earn-musd deeplink handler with navigation fixes (#25…
nickewansmith Jan 28, 2026
394d42d
fix: format input amount when validating balance (#25333)
GeorgeGkas Jan 28, 2026
448ed23
fix: standardize fiat value decimal places in asset picker (#25289)
infiniteflower Jan 28, 2026
a425938
chore: Remove reset password from updateAuthPreferences (#25295)
Cal-L Jan 28, 2026
fc6e0cd
chore: build workflow to gh (#25341)
tommasini Jan 28, 2026
1d43171
chore: Updated Settings header to use HeaderCenter (#25329)
brianacnguyen Jan 28, 2026
1c2208f
fix: Swaps network pill style (#25342)
infiniteflower Jan 28, 2026
c37453b
fix: WalletConnect URL validation (#24904)
wenfix Jan 28, 2026
5500c95
chore: New Crowdin translations by Github Action - cp-7.63.0 (#24364)
metamaskbot Jan 28, 2026
cef1d5b
feat: add close button to EarnTokenList BottomSheet (#25006)
georgewrmarshall Jan 28, 2026
7e62d28
docs(predict): Architectural refactoring documentation and roadmap (#…
matallui Jan 29, 2026
8f45d17
feat: continue button placement changes in create pasword screen (#25…
grvgoel81 Jan 29, 2026
e135731
feat: change password ui fixes (#25301)
grvgoel81 Jan 29, 2026
ac96563
fix: textField error case styling and update conditions (#25254)
grvgoel81 Jan 29, 2026
9c69c7d
refactor: Improve Perps market list discoverability (#25343)
gambinish Jan 29, 2026
bd0fc32
feat: allow users to set a referral code in settings (#25085)
sophieqgu Jan 29, 2026
129c314
feat: convert manualBackupStep1 code to typescript (#24346)
grvgoel81 Jan 29, 2026
9d97e2f
feat: rewards dropdown filter on activity tab (#24910)
sophieqgu Jan 29, 2026
cf684d6
feat(perps): show trending markets in Perps tab for users without pos…
abretonc7s Jan 29, 2026
425beae
fix: Multiple bugs when editing SL via Stop Loss Banner (#25234)
gambinish Jan 29, 2026
9236943
chore(perps): use feature flag for referral code (#25282)
geositta Jan 29, 2026
f41c183
fix: Remove unexpected header background when confirmation modal show…
OGPoyraz Jan 29, 2026
e8fec36
feat: Allow queueing of Snap dialogs (#25319)
FrederikBolding Jan 29, 2026
76adcaa
feat(card): metal card checkout flow (#25172)
Brunonascdev Jan 29, 2026
31c3da6
chore: swaps api prop refactor (#25364)
bfullam Jan 29, 2026
a033b30
chore: Adds tempo testnet network (#25187)
bizk Jan 29, 2026
a755dc2
fix: Enable the “Got it” button (#25368)
dan437 Jan 29, 2026
7a62afe
chore: Remove experimental workflows (#25365)
dan437 Jan 29, 2026
d28119c
refactor(multichain): convert MultichainTransactionDetailsModal to Bo…
wachunei Jan 29, 2026
74a8adc
Merge origin/main into stable-main-7.65.0
metamaskbot Jan 29, 2026
ff3d459
chore(release): sync stable to main for version 7.65.0 (#25381)
metamaskbotv2[bot] Jan 29, 2026
5ca0cc6
feat: MUSD-243 enforce same chain conversions in one click (#25238)
Matt561 Jan 29, 2026
736e6e4
chore: Add pull to refresh to Wallet (#23618)
brianacnguyen Jan 29, 2026
f588bd3
fix: flaky trending e2e tests (#25371)
juanmigdr Jan 29, 2026
080c842
feat(analytics): migrate Ramp useAnalytics to analytics utility (#25377)
NicolasMassart Jan 29, 2026
d87e9ea
fix(perps): geo-restrictions on ui cp-7.63.0 (#25379)
aganglada Jan 29, 2026
76d6694
feat: MUSD-233 remove stablecoin earn percentage cta to avoid conflic…
Matt561 Jan 29, 2026
8c57559
docs: update create-deeplink-handler command to match DeeplinkManager…
NicolasMassart Jan 29, 2026
cae67fb
chore: remove epd feature flag (#23725)
AugmentedMode Jan 29, 2026
a4ad52c
chore: replace transaction details view to support gasless tx musd co…
nickewansmith Jan 29, 2026
de82fcb
feat: swaps new slippage modal (#25124)
GeorgeGkas Jan 29, 2026
986b85c
refactor(card): onboarding screens (#25347)
Brunonascdev Jan 29, 2026
351770f
chore: upgrade ReOwn/WalletConnect (#24800)
wenfix Jan 29, 2026
de0997f
feat(perps): allow users to trade with any token PoC (#24964)
michalconsensys Jan 29, 2026
1d4bd68
fix: 25144 QR code popup constantly in explorer screen due to predict…
dawnseeker8 Jan 29, 2026
52d2ff9
fix: don't pin selected asset if it doesn't match search (#25395)
bfullam Jan 29, 2026
6e61412
revert: swaps new slippage modal (#25394)
GeorgeGkas Jan 29, 2026
21cae71
test: skip insufficient funds test to unblock pipeline (#25401)
cmd-ob Jan 29, 2026
0ee7328
test(MMQA-1340): fixed perps and predictions tests (#25372)
javiergarciavera Jan 29, 2026
554270b
chore(runway): cherry-pick fix(perps): watchlist and explore header a…
runway-github[bot] Jan 30, 2026
5f7e4d6
[skip ci] Bump version number to 3586
metamaskbot Jan 30, 2026
d0c242b
chore(runway): cherry-pick feat: return actual host for known public …
runway-github[bot] Jan 30, 2026
1b55cbd
[skip ci] Bump version number to 3589
metamaskbot Jan 30, 2026
a86c788
chore(runway): cherry-pick feat: implement Url Bar Button Updates (#2…
runway-github[bot] Jan 30, 2026
68e7a87
chore(runway): cherry-pick fix(perps): potential rate limit on close …
runway-github[bot] Jan 30, 2026
36af569
[skip ci] Bump version number to 3593
metamaskbot Jan 30, 2026
d3f7f7d
Merge branch 'stable' into release/7.64.0
joaoloureirop Jan 30, 2026
1fc5d62
[skip ci] Bump version number to 3594
metamaskbot Jan 30, 2026
cc2d520
chore(runway): cherry-pick fix(perps): add spotMeta caching to reduce…
runway-github[bot] Feb 2, 2026
0cf3191
[skip ci] Bump version number to 3601
metamaskbot Feb 2, 2026
6f8e8e8
chore(runway): cherry-pick fix(perps): reduce WebSocket subscription …
runway-github[bot] Feb 2, 2026
6554660
[skip ci] Bump version number to 3603
metamaskbot Feb 2, 2026
bfb9e9f
chore(runway): cherry-pick feat(card): cp-7.64.0 Onboarding and Metal…
runway-github[bot] Feb 3, 2026
cb2abc8
chore(runway): cherry-pick fix: cp-7.64.0 MUSD-268 only render Earn C…
runway-github[bot] Feb 3, 2026
0bf3a05
chore(runway): cherry-pick fix: O(n) api calls to ramps on token deta…
runway-github[bot] Feb 3, 2026
4c150e4
[skip ci] Bump version number to 3611
metamaskbot Feb 3, 2026
6929c41
chore(runway): cherry-pick fix: add missing prop to fix TokenListItem…
runway-github[bot] Feb 3, 2026
40c829e
[skip ci] Bump version number to 3617
metamaskbot Feb 3, 2026
212cbd0
chore(runway): cherry-pick fix: MUSD-266 staked ethereum balance mis…
runway-github[bot] Feb 3, 2026
1ce0f62
[skip ci] Bump version number to 3619
metamaskbot Feb 3, 2026
802dfac
chore(runway): cherry-pick fix: Android ANR bug (#25597)
runway-github[bot] Feb 3, 2026
9cbb539
[skip ci] Bump version number to 3621
metamaskbot Feb 3, 2026
e180edc
chore(runway): cherry-pick feat: cp-7.64.0 MUSD-279 moved Earn CTAs t…
runway-github[bot] Feb 3, 2026
b1f276b
[skip ci] Bump version number to 3622
metamaskbot Feb 3, 2026
4db8291
chore(runway): cherry-pick chore: New Crowdin translations by Github …
runway-github[bot] Feb 4, 2026
d0cc084
[skip ci] Bump version number to 3626
metamaskbot Feb 4, 2026
2b602f5
chore(runway): cherry-pick fix(perps): set confirmation header and sa…
runway-github[bot] Feb 4, 2026
f9a6bb6
[skip ci] Bump version number to 3627
metamaskbot Feb 4, 2026
0db00df
Revert "fix: MUL-1331 modify android manifest file for correct BLE lo…
joaoloureirop Jan 23, 2026
bd02a1b
chore(runway): cherry-pick fix: cp-7.64.0 when switching the network …
runway-github[bot] Feb 4, 2026
1572dc5
chore(runway): cherry-pick fix: default explore feature to enabled cp…
runway-github[bot] Feb 4, 2026
125a4ca
[skip ci] Bump version number to 3630
metamaskbot Feb 4, 2026
e187824
chore(runway): cherry-pick fix(analytics): cp-7.63.1 correct capitali…
runway-github[bot] Feb 3, 2026
74ca9ca
update 7.64.0 with stable
joaoloureirop Feb 4, 2026
2476027
Merge branch 'release/7.64.0' into upd-764-stable
joaoloureirop Feb 4, 2026
b3fb79d
chore: update release with stable (#25662)
joaoloureirop Feb 4, 2026
a1313ef
[skip ci] Bump version number to 3631
metamaskbot Feb 4, 2026
48891cd
chore(runway): cherry-pick fix(perps): improve connection toast (swip…
runway-github[bot] Feb 4, 2026
9049f8a
[skip ci] Bump version number to 3632
metamaskbot Feb 4, 2026
841e0f0
chore(runway): cherry-pick fix: Remove userLoggedIn conditional for r…
runway-github[bot] Feb 4, 2026
abaf57a
[skip ci] Bump version number to 3633
metamaskbot Feb 4, 2026
e5d29d1
chore(runway): cherry-pick refactor: Market discoverability improveme…
runway-github[bot] Feb 4, 2026
2302b2a
[skip ci] Bump version number to 3634
metamaskbot Feb 4, 2026
a9ecd54
chore(runway): cherry-pick fix: display specific geolocation error me…
runway-github[bot] Feb 5, 2026
21c4ad3
[skip ci] Bump version number to 3637
metamaskbot Feb 5, 2026
05850d9
chore(runway): cherry-pick feat(card): cp-7.64.0 create card-kyc-noti…
runway-github[bot] Feb 5, 2026
4e74028
[skip ci] Bump version number to 3638
metamaskbot Feb 5, 2026
ed2a205
chore(runway): cherry-pick fix: background color for Perps deposit cp…
runway-github[bot] Feb 5, 2026
6fef301
chore(runway): cherry-pick fix(perps): clear confirmation on order vi…
runway-github[bot] Feb 5, 2026
95be05b
[skip ci] Bump version number to 3639
metamaskbot Feb 5, 2026
94ba5a5
release: release/7.64.0-Changelog (#25410)
metamaskbot Feb 5, 2026
e48efc9
chore(runway): cherry-pick feat(card): cp-7.64.0 change CardHome butt…
runway-github[bot] Feb 5, 2026
85b48ff
[skip ci] Bump version number to 3642
metamaskbot Feb 5, 2026
e935da4
[skip ci] Bump version number to 3646
metamaskbot Feb 6, 2026
732e6db
update changelog
joaoloureirop Feb 6, 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
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .cursor/BUGBOT.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,11 @@ Use the rules in the [unit testing guidelines](rules/unit-testing-guidelines.mdc
- Check for proper imports and framework utilities from `tests/framework/index.ts`

Use the rules in the [e2e-testing-guidelines](rules/e2e-testing-guidelines.mdc) to enforce the test quality and bug detection.

### 3. Initial Setup - Component View Tests

- **ALWAYS** load and reference [component-view-testing](rules/component-view-testing.mdc)
- Verify test file naming pattern: `**/*.view.test.{ts,tsx,js,jsx}`
- Check for proper use of presets and renderers from `app/util/test/component-view/`

Use the rules in the [component-view-testing](rules/component-view-testing.mdc) to enforce the test quality and bug detection.
45 changes: 36 additions & 9 deletions .cursor/commands/create-deeplink-handler.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,21 +161,21 @@ export const PREFIXES = {
import { handle{PascalCaseName}Url } from './handle{PascalCaseName}Url';
```

#### Step D: Add to SUPPORTED_ACTIONS enum
#### Step D: Add to SUPPORTED_ACTIONS object

**File:** `app/core/DeeplinkManager/handlers/legacy/handleUniversalLink.ts`

```typescript
enum SUPPORTED_ACTIONS {
const SUPPORTED_ACTIONS = {
// ... existing actions
{UPPER_SNAKE_CASE} = ACTIONS.{UPPER_SNAKE_CASE},
}
{UPPER_SNAKE_CASE}: ACTIONS.{UPPER_SNAKE_CASE},
} as const;
```

#### Step E: Add switch case (CRITICAL - Most commonly forgotten!)

**File:** `app/core/DeeplinkManager/handlers/legacy/handleUniversalLink.ts`
**Location:** Inside the switch statement (around line 254+)
**Location:** Inside the switch (action) block (around line 358)

```typescript
switch (action) {
Expand Down Expand Up @@ -203,6 +203,32 @@ const WHITELISTED_ACTIONS: SUPPORTED_ACTIONS[] = [
];
```

#### Step G: Add to SUPPORTED_ACTIONS array (for isSupportedAction)

**File:** `app/core/DeeplinkManager/types/deepLink.types.ts`

Add the new action to the `SUPPORTED_ACTIONS` array so `isSupportedAction(action)` returns true and analytics route is not INVALID.

```typescript
export const SUPPORTED_ACTIONS = [
// ... existing actions
ACTIONS.{UPPER_SNAKE_CASE},
] as const satisfies readonly ACTIONS[];
```

#### Step H: Map action to route (for analytics)

**File:** `app/core/DeeplinkManager/util/deeplinks/deepLinkAnalytics.ts`

In `mapSupportedActionToRoute`, add a case for the new action returning the appropriate `DeepLinkRoute`. If the action needs its own route: add a new value to `DeepLinkRoute` in `app/core/DeeplinkManager/types/deepLinkAnalytics.types.ts` and optionally add an entry in `routeExtractors` in deepLinkAnalytics.ts.

```typescript
case ACTIONS.{UPPER_SNAKE_CASE}:
return DeepLinkRoute.{ROUTE_OR_EXISTING}; // e.g. DeepLinkRoute.REWARDS or new enum value
```

**Note:** Skipping Steps G and H still allows navigation to work, but analytics will record the route as INVALID.

**After completing all integration steps (full mode only), verify the handler is fully connected by:**

- Checking that all files were actually modified (not just showing snippets)
Expand Down Expand Up @@ -239,8 +265,7 @@ adb shell am start -W -a android.intent.action.VIEW \

Remind user to manually update:

- `docs/readme/deeplinking.md` - Add to Supported Actions table
- `docs/deeplink-test-urls.md` - Add test URLs
- `docs/readme/deeplinking.md` - Add to Supported Actions table and document test URLs (e.g. in a Test URLs section) if applicable

## Naming Conventions

Expand All @@ -261,10 +286,10 @@ Remind user to manually update:
- [ ] All user information collected interactively (including integration mode)
- [ ] Handler file created with proper structure
- [ ] Test file created with all test cases
- [ ] **Full mode:** All integration steps (A-F) actually performed in code files
- [ ] **Full mode:** All integration steps (A–H) actually performed in code files
- [ ] **Full mode:** Handler verified to be hooked up and ready to use
- [ ] **Snippets mode:** Integration snippets provided for all steps
- [ ] **Snippets mode:** User reminded which files to modify
- [ ] **Snippets mode:** User reminded which files to modify (including Steps G and H)
- [ ] Test commands provided
- [ ] Documentation reminders included
- [ ] Switch case step emphasized as critical
Expand All @@ -278,3 +303,5 @@ Remind user to manually update:
@app/core/DeeplinkManager/handlers/legacy/handlePerpsUrl.ts
@app/core/DeeplinkManager/handlers/legacy/handleRewardsUrl.ts
@app/core/DeeplinkManager/handlers/legacy/handlePredictUrl.ts
@app/core/DeeplinkManager/types/deepLink.types.ts
@app/core/DeeplinkManager/util/deeplinks/deepLinkAnalytics.ts
42 changes: 23 additions & 19 deletions .cursor/rules/component-view-testing.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,29 @@ alwaysApply: false

Follow these rules for all component-view tests. Nested, component-specific rules may also apply.

- **Mock policy**
- Only mock `../../../core/Engine`, `../../../core/Engine/Engine`, and `react-native-device-info`.
- No mocking of hooks or selectors; drive behavior via Redux state.
- Enforced by runtime guard in `app/util/test/testSetup.js` and ESLint override in `.eslintrc.js`.

- **Framework usage (REQUIRED)**
- Use presets: `initialStateBridge`, `initialStateWallet`.
- Use renderers: `renderBridgeView`, `renderWalletView`.
- Use `stateFixture.ts` helpers for overrides (e.g., quotes, feature flags).
- Prefer `deterministicFiat: true` for exact fiat assertions.

- **Navigation tests**
- Use `renderScreenWithRoutes` and build `state` via the preset + minimal overrides.
- Assert using route names from `app/constants/navigation/Routes.ts`.

- **Test structure**
- AAA pattern with blank lines between sections.
- Action-oriented names (no “should”).
- One behavior per test; robust assertions over brittle formatting.
## Mock Policy - MANDATORY

- Only mock `../../../core/Engine`, `../../../core/Engine/Engine`, and `react-native-device-info`.
- No mocking of hooks or selectors; drive behavior via Redux state.
- Enforced by runtime guard in `app/util/test/testSetup.js` and ESLint override in `.eslintrc.js`.

## Framework Usage - MANDATORY

- Use presets: `initialStateBridge`, `initialStateWallet`.
- Use renderers: `renderBridgeView`, `renderWalletView`.
- Use `stateFixture.ts` helpers for overrides (e.g., quotes, feature flags).
- Prefer `deterministicFiat: true` for exact fiat assertions.

## Navigation Tests

- Use `renderScreenWithRoutes` and build `state` via the preset + minimal overrides.
- Assert using route names from `app/constants/navigation/Routes.ts`.

## Test Structure - MANDATORY

- AAA pattern with blank lines between sections.
- Action-oriented names (no "should").
- One behavior per test; robust assertions over brittle formatting.

- **Execution**
- Prefer `--coverage=false` during iteration for speed.
Expand Down
Loading
Loading