Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1476
Fixes #1444
Some sites don't work on mobile because of the imact of the injection delay on
window.web3
.On desktop, our
window.web3
will be injected before the site's own scripts begin to execute. Some sites, knowing this, overwrite ourwindow.web
, because they don't want to use our version.On mobile, this expectation is broken, and we overwrite the site's
window.web3
instead. If the site'sweb3
is e.g.1.2.x
, its api is different from ours,0.20.7
, and things break.This PR attempts to resolve these issues by not overwriting
window.web3
if it's not falsy on page load.Notes
metamask-mobile-provider
: Don't overwrite existing window.web3 mobile-provider#18