aragon / client

(Aragon 1) Create and manage decentralized organizations on Ethereum.
https://client.aragon.org
GNU Affero General Public License v3.0
831 stars 273 forks source link

Metamask is 'unknown' when Frame is present #1450

Open paalex opened 4 years ago

paalex commented 4 years ago

Describe the bug Metamask connect is not available when Frame Chrome extension is installed

Mainnet or testnet? testnet

Organization https://rinkeby.aragon.org/#/tvpdaotest

To Reproduce Steps to reproduce the behavior:

  1. Go to https://rinkeby.aragon.org/#/<dao-name-here>
  2. Click on 'Connect account' and connect Metamask
  3. Install or enable Frame extension
  4. Reload the page
  5. See that Metamask is 'unknown' in 'Connect account'

Expected behavior Metamask is available for connect

Screenshots

Screen Shot 2020-06-16 at 10 45 09 PM

Desktop:

Additional context The Agent app requires Frame, which conflicts with Metamask, making it impossible to keep using Metamask. Disabling Frame extension and reloading the page makes Metamask work again. Enabling and reloading breaks Metamask. Might be related to #1320, #1364, #161

sohkai commented 4 years ago

This is also related to https://github.com/aragon/aragon/issues/1389, where we don't detect a non-Metamask injected provider very well. In this case, if you have the Frame extension enabled, that first panel should show something like Frame (extension).

The Agent app requires Frame, which conflicts with Metamask, making it impossible to keep using Metamask.

However, it should be noted that if you want to use the Frame extension, you should also disable Metamask. Only one injected provider should be active at a time.

FelixMohr commented 4 years ago

Hi @sohkai, if it is implemented like you suggested, it would look like the following, i.e. Frame and Frame (Extension) would show up and clicking on any of them would connect Frame. Wouldn't it be preferable to hide one of these buttons? image

sohkai commented 4 years ago

Yes, true—we could hide the button for the extension in that case!