-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
No evident UI to change network / login when perpetually "Connecting to Unknown Network" #5609
Comments
Merged
@MicahZoltu this is being addressed in #5893: we'll time out the connection attempt and prompt you to switch networks. Agreed, long overdue. Closing this as a duplicate of the older #3776. Thanks for the thorough writeup. |
This was referenced Dec 13, 2018
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
When MetaMask can't connect to the last network it was connected to, it has an overlay that blocks UI functionality that would allow a user to gracefully recover from the situation.
To Reproduce
Steps to reproduce the behavior:
There is no clearly reachable UI to log in or to change networks.
There are hidden workarounds, but no clear UI to make them easy to identify.
SECRET UI WORKAROUNDS IN STEP 5:
5a: If you start typing the password immediately after the click to open the window, and use the Enter key after a correct password, it will log in. If you click in the password field first, intending to be sure the password field has input focus (generally a best practice for password entry), this will actually take focus away, because the overlay intercepted the click and took focus.
5b: If you click the spinner in the upper right, you do get the network select list, but like 5a that's not at all clear UI. However, clicking Custom RPC does nothing, other than dismiss the list. You have to click Main Ethereum Network and wait for a connection to get the overlay to disappear, then log in, and THEN click the network selector for the desired network.
If you are offline (e.g. on a plane or out somewhere without wifi), you won't be able to connect to the mainnet or any of the public testnets for workaround 5b. If you're intending to connect to localhost (or another address on a semi-isolated network you're now connected to), but that's not a previously created option in the network selector list, too bad. You won't be able to connect to any of the networks in the list and you can't access the Custom RPC UI to add it in. You have to go through the 5a workaround and be sure not to click.
Other routes to reproduce
.

12a. After logging in, open the network selector and choose one that you can't actually connect to at present (e.g. local Ganache, when Ganache is not running).
12b. Alternatively to 12a, after logging in, open the network selector and choose CustomRPC, then enter an RPC URL where there is no responsive Ethereum node, and click Save.
13. You will see the "Connecting to Unknown Network" overlay forever as before, again with the network selector UI gone.
Screenshot for route 12a:
Screenshot for route 12b:
Assuming that users sometimes make errors when entering an RPC (e.g. choosing the wrong one of {
http
,https
}, mistyping an IP or port number, using an incorrect separator, omitting the port number, etc., 12b is probably not that uncommon, and it should not leave the UI in an unusable state with no clear path to recovery.14. Closing the MetaMask popup and reopening it doesn't help.
15. You can click the identicon circle in the upper right and Log Out, but then you're back at step 5 above.
16. You can also close your browser and restart it, and then you're back at step 5 above.
Expected behavior
A. There is no "Connecting to ... Network" overlay on the login page.
B. When the overlay is present (which per A should be only after login), the network selector is still visible and not replaced by a spinner.
C. The Custom RPC interface is accessible even when MetaMask cannot connect to whatever network it's trying to connect to, so that the user can switch to a network they can connect to. This is consistent with @danfinlay's comment on issue #1983. Note: Being able to access the CustomRPC UI while logged out, regardless of "Connecting..." overlay, is issue #5606; the expected behavior here is access to that UI when the "Connecting..." overlay is in place (even if logged in), instead of the overlay removing access to UI elements that allow logging in or changing RPC.
Browser details (please complete the following information):
The text was updated successfully, but these errors were encountered: