You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
@metamask/analytics 0.5.0
Added
Add optional failure_reason property to MMConnectProperties in schema.ts, attached by producers on mmconnect_wallet_action_failed and mmconnect_connection_failed. Mirrors metamask-sdk-analytics-api#31. (#290)
Add optional error_code (integer) and error_message_sample (string, max 200 chars) properties to MMConnectProperties in schema.ts. Producers attach them on the two *_failed events as raw-code / sanitised-message companions to failure_reason. Mirrors metamask-sdk-analytics-api#32. (#290)
Removed
Removed MobileSDKConnectV2Payload / MobileSDKConnectV2Properties from schema.ts and the EventV2 oneOf; the mobile/sdk-connect-v2 namespace has no emitters after metamask-mobile#27864 and metamask-mobile#28322, and the V2 endpoint is being updated to reject the namespace in metamask-sdk-analytics-api#29. Internal types only — no change to the public API.
chore(analytics): drop MobileSDKConnectV2 types from generated schema (#274)
@metamask/connect-evm 1.3.0
Removed
Remove @metamask/chain-agnostic-permission dependency. The two helpers used from it (getEthAccounts, getPermittedEthChainIds) and the parseScopeString utility are now implemented locally on top of @metamask/utils primitives. This drops the transitive @metamask/controller-utils / lodash / bn.js / eth-ens-namehash / fast-deep-equal / @metamask/ethjs-unit chain from the connect-evm bundle. (#289)
@metamask/connect-multichain 0.14.0
Added
Attach a failure_reason tag to mmconnect_wallet_action_failed and mmconnect_connection_failed events via a new classifyFailureReason helper, distinguishing transport timeouts, transport disconnects, EIP-1193 wallet errors (4100 wallet_unauthorized, 4200 wallet_method_unsupported, 4902 unrecognized_chain), and JSON-RPC wallet errors (-32601, -32602, -32603, plus the -32000…-32099 server-error range), with an unknown fallback. Schema-side: metamask-sdk-analytics-api#31. (#290)
Attach error_code and error_message_sample companion properties to mmconnect_wallet_action_failed and mmconnect_connection_failed. error_code preserves the raw wallet-side JSON-RPC / EIP-1193 code (e.g. 4001, -32603). error_message_sample is a sanitised, 200-char-max preview of the original error message, with wallet addresses, long hex blobs, URLs, and large decimal numbers scrubbed. Both fields are optional and only set on the two *_failed events. Schema-side: metamask-sdk-analytics-api#32. (#290)
Changed
Improves QR code scanning reliability. The QR code MWP flow (desktop web and Node.js) now omits the initial wallet_createSession request from the deeplink URI, instead sending it as a separate request after the wallet completes the MWP handshake. This results in a shorter deeplink URI and a less dense QR code. The native deeplink (non-QR MWP) flow used on mobile web and React Native is unchanged. (#295)
Fixed
Tightened isRejectionError so mmconnect_wallet_action_rejected more accurately reflects user-driven cancellations: it now unwraps RPCInvokeMethodErr (so wallet-side codes survive the router's transport-boundary wrapping rather than being masked by the wrapper's code: 53), no longer classifies EIP-1193 4100 Unauthorized as a rejection (it's a CAIP-25 permission denial, not a user decision), and narrows the bare "user" substring match to four explicit phrases — "user rejected" / "user denied" / "user cancelled" / "user canceled" — so unrelated messages like Account Abstraction's "user operation reverted" no longer count. Net effect: _rejected becomes more precise; _failed picks up everything 4100 was previously hiding. (#292)
@metamask/browser-playground 0.7.3
Added
Added an Analytics test bench collapsible panel with one button per failure_reason classifier branch, plus a local yarn analytics:echo server that stands in for the analytics endpoint. See the playground README for the manual-testing walkthrough. (#290)
Add network checkboxes for HyperEVM Mainnet (eip155:999), MegaETH Mainnet (eip155:4326), Monad Mainnet (eip155:143), Sei Mainnet (eip155:1329), and Tempo Mainnet (eip155:4217) to the multichain connect form (#295)