MetaMask / MetaMask/metamask-extension

On/Off toggle to shut off network traffic

Open
#6,194 1 comment 0 reactions 0 assignees View on GitHub
area-devmode area-Infura T08-featureRequest
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.