MetaMask / MetaMask/metamask-mobile

[Bug]: [Android 11] Infinite loop when scanning Hyperliquid QR Code on v8.4.0 (6202) (Regression)

Open
#33,984 2 comments 0 reactions 0 assignees View on GitHub
external-contributor regression-prod-8.4.0 Sev1-high ta-needs-engineer-escalation ta-triaged team-wallet-integrations type-bug
Dominant language
TypeScript
Stars
3k
Forks
1.7k
Avg merge
1d 14h
Merged PRs (30d)
669

Description

### Describe the bug

**Describe the bug**
CRITICAL REGRESSION: I have been using MetaMask Mobile on Android to connect to Hyperliquid via QR Code successfully for **over 8 months**.
Suddenly, after updating to version **8.4.0**, scanning the QR code results in an **infinite loading loop**.
The camera scans the code correctly, but the app **never displays the connection request**. It hangs indefinitely, and the desktop site eventually times out.
This functionality worked perfectly until this latest update; no changes were made to my device or network.

**To Reproduce**
1. Open Hyperliquid on a desktop browser.
2. Click "Connect Wallet" -> "WalletConnect".
3. Open MetaMask Mobile on Android (v8.4.0).
4. Scan the QR code.
5. **Result**: The app enters an infinite loop/loading state. No "Connect" prompt appears.
6. The desktop site fails to connect.

**Smartphone Information:**
- **Device:** Samsung Galaxy A50 (Model: SM-A505FN/DS)
- **OS:** Android 11
- **App Version:** 8.4.0
- **Usage History:** Used successfully for 8+ months prior to updating to v8.4.0.

**Additional context**
- This is a sudden regression caused by the update to v8.4.0.
- I have cleared all WalletConnect sessions.
- Camera permissions are granted.
- Battery optimization is disabled.
- Reinstalling the app did not fix the issue.
- This blocks all access to Hyperliquid via mobile on Android 11 devices.

### Expected behavior

**Expected behavior**
As it did for the past 8 months, the app should immediately show the "Connect to Hyperliquid" approval screen after scanning.

### Screenshots/Recordings

_No response_

### Steps to reproduce

1. Open the **Hyperliquid** website on a desktop browser.
2. Click on **"Connect Wallet"** and select the **WalletConnect** option.
3. A QR code is displayed on the screen.
4. Open the **MetaMask Mobile app (v8.4.0)** on a **Samsung Galaxy A50 (Android 11)**.
5. Tap the **QR Code scanner icon** within the app.
6. Scan the QR code displayed on the desktop screen.
7. **Observation:** The app successfully reads the code but enters an **infinite loading loop**. No "Connect" or "Approve" screen appears.
8. **Result:** The desktop website eventually displays a timeout error (e.g., "Missing or invalid record"), and the connection fails.

### Error messages or log output

```shell
No explicit error message is displayed on the mobile app. The UI enters an infinite loading state immediately after scanning the QR code. The connection request modal never appears. On the desktop side (Hyperliquid), the connection eventually fails with a timeout error: "Missing or invalid. Record was recently deleted."
```

### Where was this bug found?

Live version (from official store)

### Version

v8.4.0

### Build number

6202

### Build type

None

### Device

Samsung Galaxy A50 (Model: SM-A505FN/DS)

### Operating system

Android

### Additional context

CRITICAL REGRESSION - AUTOMATIC UPDATE TO BUILD 6202:
I have used MetaMask on this device (Samsung A50, Android 11) to connect to Hyperliquid via QR Code successfully for over 8 months.
The issue appeared IMMEDIATELY after an AUTOMATIC UPDATE to Version 8.4.0 (Build 6202). I did not manually opt-in to any beta program; the app updated itself via the store.

SYMPTOMS:
- Camera scans QR code successfully.
- App enters an INFINITE LOADING LOOP immediately after scanning.
- NO connection request modal appears.
- Desktop site (Hyperliquid) eventually times out with: "Missing or invalid. Record was recently deleted."

NOTE ON BUILD 6202:
This build number (6202) is significantly higher than typical stable releases, suggesting this may be a Beta/Canary build pushed automatically. The bug is present on this specific compilation.

TROUBLESHOOTING ATTEMPTED:
- Cleared all WalletConnect sessions.
- Verified Camera permissions (Granted).
- Disabled Battery Optimization.
- Reinstalled app.
- Tested on Wi-Fi and Mobile Data.

This blocks all mobile access to Hyperliquid via WalletConnect.

### Severity

Severity: High / Critical

Justification:
1. Total Functionality Loss: This bug completely blocks users from connecting to dApps (specifically Hyperliquid) via WalletConnect on Android. There is no workaround within the app other than switching to a different wallet entirely.
2. Regression: This is a critical regression. The feature worked flawlessly for over 8 months on the same device and only broke after the automatic update to Build 6202.
3. User Impact: It affects the core utility of the mobile app (connecting to dApps). Users who rely on QR code scanning for security or convenience are completely locked out of their activities.
4. Silent Failure: The app fails silently (infinite loop) without a clear error message, leading to poor user experience and confusion.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the QR-code connection flow on Android 11 with MetaMask Mobile v8.4.0 (build 6202), using Hyperliquid through WalletConnect. Trace what happens after the QR code is scanned and compare it with the prior working behavior. Done means the connection request appears instead of an infinite loading loop and the desktop session completes successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
react-native, typescript
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.