From 48684d0509917006b0bacff339b1fc6c48d1337e Mon Sep 17 00:00:00 2001 From: azivner Date: Sun, 18 Nov 2018 09:05:50 +0100 Subject: [PATCH] fixed app termination after unsuccessful migration for electron --- src/services/migration.js | 3 ++- src/services/utils.js | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/services/migration.js b/src/services/migration.js index a863c457d..7265010ce 100644 --- a/src/services/migration.js +++ b/src/services/migration.js @@ -4,6 +4,7 @@ const sqlInit = require('./sql_init'); const optionService = require('./options'); const fs = require('fs-extra'); const log = require('./log'); +const utils = require('./utils'); const resourceDir = require('./resource_dir'); async function migrate() { @@ -72,7 +73,7 @@ async function migrate() { log.error("error during migration to version " + mig.dbVersion + ": " + e.stack); log.error("migration failed, crashing hard"); // this is not very user friendly :-/ - process.exit(1); + utils.crash(); } finally { // make sure foreign keys are enabled even if migration script disables them diff --git a/src/services/utils.js b/src/services/utils.js index e88f2cf60..2f1884abe 100644 --- a/src/services/utils.js +++ b/src/services/utils.js @@ -118,6 +118,15 @@ function escapeRegExp(str) { return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); } +function crash() { + if (isElectron()) { + require('electron').app.exit(1); + } + else { + process.exit(1); + } +} + module.exports = { randomSecureToken, randomString, @@ -137,5 +146,6 @@ module.exports = { stripTags, intersection, union, - escapeRegExp + escapeRegExp, + crash }; \ No newline at end of file