MetaMask / MetaMask/metamask-mobile

[Bug]: Delayed or missing transaction confirmation popups on Android (Reown AppKit / Link Mode)

Open
#25,150 3 comments 0 reactions 0 assignees View on GitHub
external-contributor regression-prod-7.61.6 Sev2-normal team-mobile-platform 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
I am experiencing a critical issue with MetaMask Mobile on Android where transaction confirmation popups (Approval/Send) frequently fail to appear immediately when triggered via **Reown AppKit (WalletConnect)**.

While the dApp successfully focuses the MetaMask app using **Link Mode**, the actual transaction modal often does not show up. Most strangely, I have observed that these "missing" popups sometimes randomly appear **several days later** when I manually open the app, suggesting a serious synchronization or queue handling issue.

### Expected behavior

## Expected behavior
The transaction signing popup should appear immediately upon app focus, ensuring a seamless payment experience.

### Screenshots/Recordings

_No response_

### Steps to reproduce

## To Reproduce
1. Use a React Native dApp integrated with **Reown AppKit**.
2. Initiate a transaction (e.g., `eth_sendTransaction`).
3. The dApp uses **Link Mode** to open MetaMask.
4. MetaMask opens and brings the app to the foreground, but stays on the home screen without a popup.
5. In some cases, the popup appears after a 30+ second delay, or not at all.

### Error messages or log output

```shell
I cant see any error messages on my app. Cuz problems are in the metamask.
```

### Where was this bug found?

Live version (from official store)

### Version

7.61.6

### Build number

3412

### Build type

Beta

### Device

Samsung galaxy s10e

### Operating system

Android

### Additional context

## Describe the bug
I am experiencing a critical issue with MetaMask Mobile on Android where transaction confirmation popups (Approval/Send) frequently fail to appear immediately when triggered via **Reown AppKit (WalletConnect)**.

While the dApp successfully focuses the MetaMask app using **Link Mode**, the actual transaction modal often does not show up. Most strangely, I have observed that these "missing" popups sometimes randomly appear **several days later** when I manually open the app, suggesting a serious synchronization or queue handling issue.

## Comparison with Other Wallets
I have conducted extensive testing with **Trust Wallet** under the exact same conditions (same device, same network, same code).
* **Trust Wallet**: 100% success rate. Popups appear instantly every time.
* **MetaMask**: Inconsistent. Often fails to show the popup, even when the app is successfully focused.

## Additional context
- **Device**: (예: Samsung Galaxy S23 / Android 14)
- **Library**: Reown AppKit (formerly WalletConnect)
- **Connection**: Stable. Initial pairing/connection always works perfectly. The issue is strictly limited to transaction/signing requests.
- **Specific Observation**: Delayed popups appearing days later indicates the request was received but not processed/rendered by the UI controller in a timely manner.

We are building a real-time payment service (PayKing OS), and this instability on the Android client is a significant blocker for our users. We would appreciate it if the mobile team could investigate the deep link payload handling logic on Android.

Thank you for your hard work on the MetaMask ecosystem.

### Severity

_No response_

Contributor guide

Open the contributing guide

Research direction

Run the supplied React Native/Reown AppKit reproduction with eth_sendTransaction on Android, then trace Link Mode deep-link handling through transaction request delivery and popup rendering. Done means approval or send confirmation appears promptly and a regression test covers delayed or missing requests.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.