MetaMask / MetaMask/metamask-extension
[Bug]: Loading forever - MetaMask cannot start after blocking and unblocking request. Closing opening browser doesn't work but clicking Re-start works
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### Describe the bug
I found a way to reproduce the loading spinner/cannot start MetaMask and cannot recover from that state when closing opening the browser.
If you block on of the initial script requests (ie `use-snow.js`), the wallet cannot start (expected)
But then, if you unblock that, and try again, the wallet cannot start. Then if you close on re-open the browser, we see the same result.
I've seen that if I wait until the Restart screen and click that, still nothing happens, but at the second trial, the wallet then recovers (the request is sent).
I'm not sure how (if) the first case can be achieved without manually blocking the request (maybe some slowness into the computer)? and then this causing the infinite spinner issue for some users. (Those in which clicking the Reload button works)
https://github.com/user-attachments/assets/56455436-3fed-4c9b-9def-f5f6c8780693
### Expected behavior
_No response_
### Screenshots/Recordings
_No response_
### Steps to reproduce
1. Open network requests
2. Start MM
3. See the `snow.js` request
4. Right click and block the URL
5. Now restart MM
6. Click MM icon
7. See MM never loads, and eventually we get the page error
8. Now unblock the request
9. Try again
10. See MM never loads, and eventually we get the page error
11. CLose the browser completely
12. Re-open it
13. Try again
14. See MM never loads, and eventually we get the page error
15. Click Reload/Restart --> still cannot recover
16. Wait again
17. Click Reload/Restart
18. Now MM get's back to normal
### Error messages or log output
```shell
```
### Detection stage
In production (default)
### Version
13.4.0
### Build type
None
### Browser
Chrome
### Operating system
Linux
### Hardware wallet
_No response_
### Additional context
_No response_
### Severity
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the sequence in the issue: block the `snow.js` request, restart MetaMask, unblock it, and retry across a browser restart. The issue provides no source files, tests, logs, or entry point; done means the extension recovers reliably after the request is unblocked and Reload/Restart is used.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100