Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MetaMask taking ~2 min to present transaction confirmations #6813

Closed
wbt opened this issue Jul 5, 2019 · 5 comments
Closed

MetaMask taking ~2 min to present transaction confirmations #6813

wbt opened this issue Jul 5, 2019 · 5 comments

Comments

@wbt
Copy link
Contributor

wbt commented Jul 5, 2019

Describe the bug
When I trigger a contract interaction transaction in my dapp, MetaMask takes about 2 minutes before presenting the popup to confirm a transaction. MetaMask does not appear to log anything in the general browser console.

More details
I have added a console logging statement on the Javascript line immediately preceding the call to the contract function. I see this print out almost immediately after triggering the transaction, and I expect a nearly immediate MetaMask popup asking me to confirm the transaction. However, nothing happens. There is no popup. There is no number in the lower right corner of the fox icon indicating pending questions. If I click the fox icon anyway to open MetaMask, I can see a history with many Confirmed transactions, with none Pending and nothing awaiting confirmation.

About 2 minutes later, the confirmation dialog pops up, a "1" appears in the lower right corner of the Metamask fox icon, and clicking the icon presents the transaction for approval. When I click confirm, the transaction goes through as expected.

Expected behavior
There is no 2 minute wait.

Browser details (please complete the following information):

  • OS: [e.g. OS X, Windows]: Win 10 Pro
  • Browser [e.g. chrome, safari]: Chrome 75.0.3770.100 (Official Build) (64-bit)
  • MetaMask Version [e.g. 5.0.2] 6.7.2
  • Network connected to: Local Ganache

Additional context
I attempted earlier to submit a transaction with the incorrect number of parameters to a Solidity function and/or undefined parameter. I am not sure there was any MetaMask confirmation of that one, but might have gotten confused about what was being confirmed in which clicks given the long delayed action results. I noticed the wait times being a lot higher especially after that, though it could have been coincidence. Even if this was the cause, there should be a more graceful way to overcome one bad transaction attempt.

@wbt
Copy link
Contributor Author

wbt commented Jul 9, 2019

I should also note that this appears to happen with the first .call() on loading the page, and the first "real" transaction when submitting, but that subsequent submissions in the same sequence are presented for approval right away.

@wbt
Copy link
Contributor Author

wbt commented Jul 12, 2019

Closing the browser completely, waiting a bit, reopening the browser, logging in to MetaMask, and resetting the account, then loading the page and triggering another transaction, doesn't help. The same delay is present. I also don't see anything in the background page console at the time of the error, but do see the following from around the time of browser startup:

background.js:1 Setting up Sentry Remote Error Reporting: SENTRY_DSN_PROD
background.js:1 Injecting MetaMask Mesh testing client
partialRollout.js:29 MetaMask Mesh Testing - threshold not matched -- skipping test
background.js:1 MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 sync listeners added. Use emitter.setMaxListeners() to increase limit
background.js:1 MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 "update" listeners added. Use emitter.setMaxListeners() to increase limit.

@wbt
Copy link
Contributor Author

wbt commented Oct 23, 2019

Any updates on this? Months later, I am still seeing these delays before the MetaMask popup appears. This seriously hinders dapp development and use.

@wbt
Copy link
Contributor Author

wbt commented Jan 22, 2020

I've also noticed long delays when calling TruffleContract's .deployed() to find the location of a contract on the network, and assume it's related to this bug.
The delay seems to get longer as a Ganache blockchain gets longer.

@danfinlay
Copy link
Contributor

Are you still experiencing this? We've made some changes that should mitigate problems that were causing some pop-ups to take a long time. I'm going to close for now optimistically, but please let us know if it's not resolved and we will reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants