5322 Commits

Author SHA1 Message Date
Jonathan Rainville
50858dc063 fix(names): fix ens console commands 2018-12-19 10:00:31 -05:00
Michael Bradley, Jr
735e38017e refactor(@embark/utils): use a 'ws' websocket client in pingEndpoint
This PR replaces #1166. The "stuck sockets" bug is addressed in #1195 so there
is no longer a need to use timeouts. However a few aspects of the original PR
are still useful, and lessons learned from #1166, #1181, and #1195 can be put
to good use.

Use a websocket client from the `ws` package when pinging websocket endpoints
instead of manually building a request header. The `'upgrade'` event being
listened for was never actually firing; and though a response was received for
those pings, the response messages indicated problems with those requests. It
seems cleaner to use a proper websocket client and callback success upon the
`ws` client's `'open'` event.

Abstract error and success handling across websocket and http pings.

Report network errors other than `ECONNREFUSED`. Only `ECONNREFUSED` is
expected, as that genuinely indicates an endpoint isn't accepting connections
at the specified host and port. If other kinds of network errors are occurring,
it will be helpful to have a visual indicator to prompt investigation.

After success or the first error, cleanup the ping's request/connection
immediately since we're not awaiting `'data'` events on an http request and we
don't want to leave a websocket connection open. Don't callback any `'error'`
events that might fire after the first `'error'` event or a success event, but
do report them.
2018-12-18 14:08:05 -06:00
Michael Bradley, Jr
aba551e84f refactor(proxy): proxy blockchain accounts so that they are available in the Dapp 2018-12-18 14:07:46 -06:00
Michael Bradley, Jr
acf62668ab refactor(@embark/blockchain_process): remove http-proxy-middleware
The problems described in embark PR #1166 can be resolved by implementing the
blockchain proxy with `http-proxy` directly instead of using `express` together
with `http-proxy-middleware`. The ultimate cause of the buggy behavior (the
"stuck sockets" problems described in #1166) is unknown.

The need to swallow some errors as described in embark PR #1181 is also
eliminated by dropping `http-proxy-middleware` and `express`.
2018-12-18 14:07:46 -06:00
Anthony Laibe
944b392cc5 feat: code runner use fs overrided 2018-12-17 18:31:22 +00:00
Jonathan Rainville
a147e2706b refactor: change registerConsoleCommands to the new API 2018-12-17 09:59:03 -05:00
Anthony Laibe
bbcfe9b1de fix: all ws endpoint use new technique
This is dues to those 2 endpoints being added
as the same time of the new technique
2018-12-17 10:05:58 +00:00
Iuri Matias
a7ff02997b refactor(@embark/compiler): refactor/simplify compiler module 2018-12-16 11:09:34 -05:00
Iuri Matias
0c5e725b68 chore(@embark/compiler): move compiler to typescript 2018-12-16 11:09:34 -05:00
Andre Medeiros
6aa8781ff5 fix(@embark): single use tokens 2018-12-16 10:28:18 -05:00
Iuri Matias
ac32cdbfc7 test(@embark): move solidity test to folder structure matching src/; add compiler test 2018-12-14 18:34:23 -05:00
Iuri Matias
caf97af0f5 chore(@embark): run tests for all matching files in the test subfolders 2018-12-14 18:34:23 -05:00
Iuri Matias
b4e0fb4557 documentation(@embark/compiler): document compiler module 2018-12-14 18:34:23 -05:00
Pascal Precht
fd311f9d24 fix(@embark/whisper): ensure web3 is ready when whisper info is requested
In 1461e95c39 we've introduced a guard that ensures whisper isn't crashing
when Embark is used with the Simulator. This unfortunately also introduced
code that tries to connect to an existing websocket provider that isn't actually
ready at the time it tries to connect.

This commit ensures `web3.shh.getInfo()` is only called once `web3` is ready
and therefore the WS connection as well.
2018-12-14 18:14:08 -05:00
Jonathan Rainville
503a79ca7a fix(test/console): register in the console in tests when ipc connected 2018-12-14 18:07:23 -05:00
Praveen Gupta
0950df242d Fixes webserver protocol 2018-12-14 17:54:17 -05:00
Praveen Gupta
ca358b4622 Adds log for missing webserver cert and minor fixes 2018-12-14 17:54:17 -05:00
Praveen Gupta
26d66f6e09 Adds reverse proxy for geth 2018-12-14 17:54:17 -05:00
Praveen Gupta
dffb3b3bb0 Adds https support for dev server 2018-12-14 17:54:17 -05:00
Andre Medeiros
435e1e6471 fix: record contract transaction history 2018-12-14 17:50:47 -05:00
Iuri Matias
93eca0b551 documentation(@embark/ens): document ens module 2018-12-14 17:34:25 -05:00
Jonathan Rainville
6a03a8f4e8 add doc link 2018-12-14 13:35:22 -05:00
Jonathan Rainville
ae61792d5b change to isArray and fix history with length 2018-12-14 13:35:22 -05:00
Jonathan Rainville
79fe28d62e more review comments
- remove useless comment
- change use to usage
- better log
2018-12-14 13:35:22 -05:00
Jonathan Rainville
3342c28fae fix intefrace function 2018-12-14 13:35:22 -05:00
Jonathan Rainville
9c657c310b change to new new api 2018-12-14 13:35:22 -05:00
Jonathan Rainville
cf8f7720d0 make api only options, add interface and deprecate old api 2018-12-14 13:35:22 -05:00
Jonathan Rainville
983921e917 refactor: change some console commands to the new api
- history
- ens functions
- versions
2018-12-14 13:35:22 -05:00
Jonathan Rainville
3229e15841 feat(console): add new api to register console commands
Enables us to add help commands without putting the logic in console
2018-12-14 13:35:22 -05:00
Michael Bradley, Jr
e738efe15a refactor(@embark/blockchain_process): swallow errors, revise streams
For reasons unknown, `ECONNRESET` errors on websocket connections to embark's
blockchain proxy are not automatically handled on Windows as they are on macOS
and Linux (or those errors aren't happening on those platforms, it's difficult
to determine). Explicitly swallow such errors so the blockchain process doesn't
crash. Prior to this PR, the crash-behavior can be reproduced on Windows by
running `embark blockchain` and `embark run` in separate terminals and quitting
`embark run` while `embark blockchain` is still running.

Consistently use the `simples` package's `WsParser` to process websocket
traffic instead of using `WsParser` for requests and the `ws` package's
`Websocket.Receiver` for responses.

Consistently use `pump` to connect parser streams instead of using `pump` in
some places and `chain` in others. Drop use of `cloneable` (and the package
dependency) since it was used previously in hopes it would fix the errors, but
it's unnecessary and didn't fix them.
2018-12-13 16:28:08 +01:00
Jonathan Rainville
7d2ceaacb1 fix(parity): create password file even when there are no accounts 2018-12-13 16:24:13 +01:00
Jonathan Rainville
d6de169572 chore(deployment): add logs to tell about pre-deploy
Otherwise there was a long period of time without any input on what's going on
2018-12-13 08:32:17 -05:00
Anthony Laibe
94a8bada7e fix: do not override web3 in embark 2018-12-13 09:22:54 +00:00
Jonathan Rainville
1461e95c39 fix(whisper): fix crash on using whisper with the simualtor 2018-12-12 16:43:13 -05:00
Jonathan Rainville
89c9b1f0ef chore(web3): up web3 to beta 37 in embark-ui 2018-12-12 14:44:31 -05:00
Jonathan Rainville
33f2b02ee7 chore(web3): update web3 beta to version 37 2018-12-12 14:44:31 -05:00
Andre Medeiros
c98dbc24de feature: introduce code coverage 2018-12-12 10:42:00 -05:00
Jonathan Rainville
427d2c69a8 chore(test/coverage): warn when using RPC and coverage in tests 2018-12-11 15:08:43 -05:00
Jonathan Rainville
d30b00e526 fix(cockpit/editor): remove arrows next to files in file explorer 2018-12-11 15:08:25 -05:00
Jonathan Rainville
ebd827bc55 fix(compiler): fix compiler being fired twice 2018-12-11 15:07:49 -05:00
Jonathan Rainville
6e4a612fef fix(embarkjs/web3): make global web3 available again 2018-12-11 15:07:23 -05:00
Anthony Laibe
d10d906ee7 feat(ui): auto updates contracts in cockpit 2018-12-11 15:49:19 +00:00
Anthony Laibe
a92a98608c feat(ui): auto updates services in cockpit 2018-12-11 11:58:03 +01:00
Pascal Precht
8a5871e606 fix(@embark/cockpit/converter): allow decimal numbers
Prior to this commit, it wasn't possible to enter decimal numbers
with dots. The reason for that is that all units are recalculated
on form control change and values like `2.` are simply converted to
`2`.

As every change will cause a `setState()` in Cockpit, users never had
a chance to get "beyond" the first dot of their input value.

This is now fixed by preventing the recalculation all together when
the last character in the entered value is a `.`

In that case, we simply update the form control using `setState()` and
don't touch all the other values. The next key stroke will cause a full
recalculation again.
2018-12-11 11:56:31 +01:00
Iuri Matias
8cbbcfe89e chore(@embark): re-add linting dependencies to devDependencies 2018-12-07 21:47:18 -05:00
Iuri Matias
74985f4174 chore(@embark): update remix-debug dependency 2018-12-07 21:47:18 -05:00
Iuri Matias
d733906c9b chore(@embark): remove no longer needed dependency compression-webpack-plugin 2018-12-07 21:47:18 -05:00
Iuri Matias
9c3e0b9ef6 chore(@embark): remove no longer needed dependency eth-lib 2018-12-07 21:47:18 -05:00
Iuri Matias
0a2b785cb1 chore(@embark): remove no longer needed dependency finalhandler 2018-12-07 21:47:18 -05:00
Iuri Matias
09febdd851 chore(@embark): remove no longer needed dependency http-shutdown 2018-12-07 21:47:18 -05:00