diff --git a/.gitignore b/.gitignore index 65bf78684..744a87ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ email_*/build */src/app/build/ electron_app/build/Certificates.p12 electron_app/build/Criptext_Mail_Distribution.provisionprofile +electron_app/dev-app-update.yml # misc */.env* diff --git a/electron_app/electron-starter.js b/electron_app/electron-starter.js index 763fe57a3..c033a1e0b 100644 --- a/electron_app/electron-starter.js +++ b/electron_app/electron-starter.js @@ -126,4 +126,8 @@ app.on('window-all-closed', () => { app.on("activate", () => { mailboxWindow.show(); -}) \ No newline at end of file +}) + +app.on('before-quit', function() { + globalManager.forcequit.set(true); +}); \ No newline at end of file diff --git a/electron_app/package.json b/electron_app/package.json index 0682184e7..c5814996a 100644 --- a/electron_app/package.json +++ b/electron_app/package.json @@ -1,6 +1,6 @@ { "name": "criptext", - "version": "0.9.0", + "version": "0.9.2", "author": { "name": "Criptext Inc.", "email": "info@criptext.com", diff --git a/electron_app/src/globalManager.js b/electron_app/src/globalManager.js index b203fb5de..45b3bf852 100644 --- a/electron_app/src/globalManager.js +++ b/electron_app/src/globalManager.js @@ -11,6 +11,14 @@ const getModalData = () => { return global.modalData; }; +// Force quit +const setForceQuit = data => { + global.forcequit = data; +}; +const getForceQuit = () => { + return global.forcequit; +}; + // Loading const setLoadingData = data => { global.loadingData = data; @@ -46,6 +54,10 @@ module.exports = { get: getEmailToEdit, set: setEmailToEdit }, + forcequit: { + get: getForceQuit, + set: setForceQuit + }, loadingData: { get: getLoadingData, set: setLoadingData diff --git a/electron_app/src/updater.js b/electron_app/src/updater.js index 865fa0b89..858e0e10b 100644 --- a/electron_app/src/updater.js +++ b/electron_app/src/updater.js @@ -2,6 +2,7 @@ const { dialog } = require('electron'); const { autoUpdater } = require('electron-updater'); const notifier = require('node-notifier'); const path = require('path'); +const globalManager = require('./globalManager'); const appId = 'com.criptext.criptextmail'; let currentUpdaterType; @@ -102,7 +103,10 @@ autoUpdater.on('update-downloaded', () => { () => { currentUpdaterType = updaterTypes.NONE; isDownloadingUpdate = false; - setImmediate(() => autoUpdater.quitAndInstall()); + setImmediate(() => { + globalManager.forcequit.set(true); + autoUpdater.quitAndInstall(); + }); } ); }); diff --git a/electron_app/src/windows/mailbox.js b/electron_app/src/windows/mailbox.js index 4bcc4fac6..4ff6b85b5 100644 --- a/electron_app/src/windows/mailbox.js +++ b/electron_app/src/windows/mailbox.js @@ -2,11 +2,12 @@ const { app, BrowserWindow, shell } = require('electron'); const windowStateManager = require('electron-window-state'); const { mailboxUrl } = require('./../window_routing'); const { appUpdater } = require('./../updater'); +const globalManager = require('./../globalManager'); const path = require('path'); const opn = require('opn'); let mailboxWindow; -let force_quit = false; +globalManager.forcequit.set(false); const mailboxSize = { width: 1400, @@ -40,7 +41,7 @@ const create = () => { ev.preventDefault(); }); mailboxWindow.on('close', e => { - if (process.platform === 'darwin' && !force_quit) { + if (!globalManager.forcequit.get()) { e.preventDefault(); mailboxWindow.hide(); } @@ -124,7 +125,7 @@ const openLinkInDefaultBrowser = (ev, url) => { }; const quit = () => { - force_quit = true; + globalManager.forcequit.set(true); app.quit(); }; diff --git a/email_mailbox/package.json b/email_mailbox/package.json index d558a57cf..02eba76a7 100644 --- a/email_mailbox/package.json +++ b/email_mailbox/package.json @@ -1,6 +1,6 @@ { "name": "email_mailbox", - "version": "0.9.0", + "version": "0.9.2", "private": true, "dependencies": { "animejs": "^2.2.0",