MetaMask / MetaMask/metamask-extension
On/Off toggle to shut off network traffic
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
## Problem
As part of its normal operation, Metamask makes a large amount of requests, at least one per second, even when it's not in active use. This raises the following concerns:
* It might not be optimal for low-resource settings (metered mobile internet, intermittent connection).
* When working with local RPC it can also be useful to be able to temporarily suspend the plugin.
* It's also a strain on Infura without any benefits. 99+% of the average user's browsing activity is not related to dApps, they are not expecting incoming transactions, yet they are constantly polling for updates.
One can always go to the browser settings and disable/enable the plugin, but it's a hassle, reenabling the plugin requires a login, and so on.
## Proposed solution
An on/off button in the header of the main MetaMask popup would allow users to quickly enable/disable the plugin.
## Alternatives
* A "None, plugin off" option in the network selector. Requires the user to remember which network to choose when reenabling it, though.
* Progressively raising the polling interval after the last user/chain interaction, resetting it to 1 second when it resumes.
* Making the polling interval configurable.
## Further ideas
* Keyboard shortcut (optional, configurable).
* Reflecting the on/off status in the toolbar icon (with a grey fox or crossed-out fox).
Contributor guide
Research direction
Begin with the main MetaMask popup header and the network polling behavior described in the issue. Clarify how an on/off state should suspend and resume plugin traffic, including local-RPC use, and define the toolbar or popup status that indicates whether traffic is enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100