mirror of
https://github.com/balena-io/etcher.git
synced 2025-04-20 13:27:17 +00:00

This PR makes use of `node-ipc` to emit progress information from the child CLI to the GUI process rather than the tailing approach we've been doing until now. This change was motivated by the following Electron fix which landed in v1.4.4: https://github.com/electron/electron/pull/7578. Before such fix, Electron would not output anything to stdout/stderr if the Electron process was running with `ELECTRON_RUN_AS_NODE` under Windows, which forced us to implement `--log` option in the Etcher CLI to output state information to a file. Since this issue is fixed, we can consume the Etcher CLI output from within `child_process.spawn`, which opens more interesting possibilities for sharing information between both processes. This coindentally fixes a Windows issue where the tailing module would receive malformed JSON, causing Etcher to crash at `JSON.parse`. The reason of this problem was a bug in the tailing module we were using. Fixes: https://github.com/resin-io/etcher/issues/642 Change-Type: patch Changelog-Entry: Fix "Unexpected end of JSON" error in Windows. Signed-off-by: Juan Cruz Viotti <jviotti@openmailbox.org>