Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
| "@metamask/auto-changelog": "^5.3.0", | ||
| "@metamask/browser-passworder": "^5.0.0", | ||
| "@metamask/browser-playground": "0.2.0", | ||
| "@metamask/browser-playground": "file:../connect-monorepo/playground/browser-playground", |
There was a problem hiding this comment.
Local file path dependency for browser-playground package
High Severity
The @metamask/browser-playground dependency was changed from the npm version "0.2.0" to a local file reference "file:../connect-monorepo/playground/browser-playground", pointing to a directory outside the repository. This will cause yarn install to fail for any developer or CI environment that doesn't have this exact local monorepo checkout at the specified relative path.
Additional Locations (1)
Triggered by project rule: BUGBOT Rules
There was a problem hiding this comment.
requires a browser playground release
| if (AppwrightSelectors.isAndroid(this._device)) { | ||
| return AppwrightSelectors.getElementByXpath(this._device, '//android.widget.TextView[@text="Confirm"]'); | ||
| } | ||
| } |
There was a problem hiding this comment.
SolanaSignModal missing iOS support causes crash
Medium Severity
The confirmButton getter only handles Android devices and returns undefined on iOS, causing tapConfirmButton to call AppwrightGestures.tap(undefined) which will crash. The appwright config defines iOS test configurations (mm-connect-ios-browserstack and mm-connect-ios-local) that match these tests, making this a real execution path that will fail.
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
Per the guidance: "Changes to wdio/ or tests/performance directories (separate test frameworks) do not require Detox tags - select none unless app code is also changed." No Detox E2E tests are needed since no application code is modified. Performance Test Selection: |


Description
Adds Multiclient MMC E2E tests using the browser playground
Changelog
CHANGELOG entry: null
Related issues
See: MetaMask/connect-monorepo#157
See: MetaMask/connect-monorepo#174
Manual testing steps
Screenshots/Recordings
Before
After
Screen.Recording.2026-02-19.at.3.12.23.PM.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Mostly test and test-harness changes, but it introduces a local
file:dependency and modifies shared Appwright page objects, which could affect CI determinism and other E2E tests.Overview
Adds a new
connection-multiclient.spec.jsAppwright performance test that exercises multiple simultaneous clients/scopes against the Browser Playground (connect, sign on EVM/Wagmi, sign on Solana, disconnect/reconnect each scope, and a concurrent-connection interruption scenario).Updates the Browser Playground page object to support the new test flows: adds Wagmi disconnect selectors/actions, adds Solana selectors/actions/assertions, makes scope-card lookup case-insensitive, and adds
assertScopeCardNotVisible. Connection tests for legacy EVM, multichain, and Wagmi are markedtest.skip, and the EVM flow switches from relaunching Chrome toswitchToMobileBrowserand adds app-cycling steps to ensure accounts are created; the connection modal network selection now scrolls into view before tapping.Dev tooling is adjusted to use a local
@metamask/browser-playgrounddependency (file:) with correspondingyarn.lockupdates, and a newSolanaSignModalscreen object is introduced for confirming Solana signatures.Written by Cursor Bugbot for commit 662cc5a. This will update automatically on new commits. Configure here.