handleError.js 822 B
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
Amaury Martiny's avatar
Amaury Martiny committed
// SPDX-License-Identifier: BSD-3-Clause
import { app, dialog } from 'electron';
Amaury Martiny's avatar
Amaury Martiny committed
import { bugs, name, parity } from '../../../package.json';
import Pino from '../utils/pino';
const pino = Pino();

export default (err, message = 'An error occurred.') => {
Amaury Martiny's avatar
Amaury Martiny committed
  pino.error(err);
Amaury Martiny's avatar
Amaury Martiny committed
  dialog.showMessageBox(
    {
      buttons: ['OK'],
      detail: `Please attach the following debugging info:
OS: ${process.platform}
Arch: ${process.arch}
Channel: ${parity.channel}
Amaury Martiny's avatar
Amaury Martiny committed
Error: ${err.message}

Please also attach the contents of the following file:
Amaury Martiny's avatar
Amaury Martiny committed
${app.getPath('userData')}/${name}.log`,
      message: `${message} Please file an issue at ${bugs.url}.`,
Amaury Martiny's avatar
Amaury Martiny committed
      title: 'Parity Error',
      type: 'error'
    },
    () => app.exit(1)
  );
};