MetaMask / MetaMask/metamask-extension

[Bug]: MetaMask connection popup stays open after clicking "Connect" (stuck after "Connecting")

Open
#39,529 2 comments 0 reactions 0 assignees View on GitHub
external-contributor regression-prod-13.15.0 Sev2-normal team-wallet-integrations type-bug
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### Describe the bug

When connecting MetaMask to a website, the connection confirmation popup appears as expected. After clicking Connect, a "Connecting" status is shown briefly. However, instead of closing automatically after a successful connection, the popup remains open on the same confirmation screen. Clicking Connect again repeats the same behavior. Clicking Cancel does nothing. Only manually closing the popup via the button works.

Despite this, the wallet does appear to be connected successfully on the dApp side. The issue seems to be related to the popup UI/state not updating correctly.

### Expected behavior

After clicking Connect, and once the connection is successful, the popup should automatically close.

### Screenshots/Recordings

https://github.com/user-attachments/assets/4f5ac4bd-31fa-4627-9be8-1c7d2a714a59

### Steps to reproduce

1. Go to https://metamask.github.io/test-dapp/
2. Click "Connect" button (Connect actions - connect)
3. MetaMask popup appears asking to confirm connection.
4. Click Connect.
5. Observe "Connecting" message.
6. After a short time, the message disappears and the same popup remains open.

### Error messages or log output

```shell

```

### Where was this bug found?

Live version (from official store)

### Version

13.15.0

### Build type

None

### Browser

Chrome

### Operating system

MacOS

### Hardware wallet

_No response_

### Additional context

_No response_

### Severity

_No response_

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in Chrome using the MetaMask test dApp's "Connect actions - connect" flow, then trace the popup connection flow and its success and cancel state handling. Done means a successful connection closes the popup automatically and Cancel dismisses it, without affecting the confirmed dApp connection.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.