This repository has been archived by the owner on Sep 5, 2020. It is now read-only.
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.
Geetings Mist team!
I'm working on Mewify for MyEtherWallet. It emulates a local Geth IPC connection which allows users to run Mist with our public backend instead of syncing a full node.
I'm having trouble getting Mist to boot up correctly when connected through Mewify -- it seems as if the data provided by
EthBlocks.init()
doesn't get returned, and as a result the node info display remains broken for the life of the application. This occurs whenever there is sufficient latency (as little as 50ms) in the round-trip time from client IPC request to server response.AFAICT, Mist will create an IPC socket on boot, and then 'reset' that socket shortly after. The pattern I'm seeing goes like
Mist boot -> IPC connection established -> EthStats.init() -> Mist resets IPC connection -> Mewify attempts to write to a now dead socket
. I believe this isn't normally observed with Geth because the local node is able to fetch & return the required data before the connection is initially cycled. However, initialization would still likely fail if Geth where to hiccup for any reason.I was able to fix this by inserting an interval in
appStart.js
to confirmEthStats.init()
completes. On the cases whereEthStats.init
is called more than once, there doesn't seem to be any detriment.Does this seem like something that could get merged in at some point?
TLDR: Block info breaks when the connected node serves slow responses because initial IPC connections get reset and
EthStats.init()
can't complete.