Coverage tests are only relevant for the unit tests and do not work in
the context of the e2e test suite. Only generate coverage reports
for the unit tests.
Jest is sometimes unable to detect when tests have completed which can
result in tests hanging indefinitely, which breaks our CI builds on
Appveyor.
This is a know issue in jest and they added a `forceExit` in order to
help users facing this issue.
See https://github.com/facebook/jest/issues/1456
The detectOpenHandles flag was added to help pin down an issue that we
were facing with some of our tests a while back. This flag comes with a
very high performance penalty and is no longer needed in our setup.
The txt coverage reporter generates a lot of output that makes it hard
to see the actual test results without scrolling up a lot first.
We already have the html reporter setup and an npm script to enable
easy viewing of the data (`yarn coverage`) so the text reporter isn't
adding anything useful.
There is no need to check wether an lnd process exists and prevent
Zap from starting if so. We don't care if there is another process
running. We only care that we can successfully start up our own process.
If there is a conflict with another lnd process such as a port that we
need already being in use we already handle this elsewhere in our code.
The standard approach on Darwin is to keen applications running when the
window is closed. Clicking the apps icon again in the doc should bring
back the application window.
This changeset refactors things to handle this. It will keep Zap and lnd
running in the background when the main application window is closed.
Quitting the app will stop both the app and lnd.
Fix#586Fix#601
Add a script that fetches specific lnd binaries for each supported
platform/arch into the resources directory and update package scripts
to build for multiple architectures.
Use `lnd-binary` to download and install the correct mac/windows/linux
lnd binary as part of the install process.
See https://github.com/mrfelton/lnd-binary
Windows build is failing on this line with:
> node --trace-warnings -r babel-register ./node_modules/.bin/webpack-serve --config webpack.config.renderer.dev.js
C:\Users\user\Documents\zap-desktop\node_modules\.bin\webpack-serve:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
^^^^^^^
SyntaxError: missing ) after argument list
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Module._extensions..js (module.js:663:10)
at Object.require.extensions.(anonymous function) [as .js] (C:\Users\user\Documents\zap-desktop\node_modules\babel-register\lib\node.js:152:7)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
This is because webpack-serve expects a js file, but on windows, which
lacks supports for shebang comments, they are wrapped in .cmd files to
be executable. e.g. see:
https://github.com/gotwarlost/istanbul#usage-on-windows
To fix this, we reference the js file directly to avoid the .cmd
wrapping.
Fetch the current block height from multiple block explorers early on in
the sync process. This ensures that we get the correct block height in
the case where our BTCd node is still mid way through syncing. Do this
in the main process rather than in the render process.