Skip to content

34.0.0

Choose a tag to compare

@github-actions github-actions released this 15 May 18:03
e7bf707

@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)

Changed

  • Bump workspace dependencies:
    • @metamask/connect-evm@1.3.0
    • @metamask/connect-multichain@0.14.0