From e9c247f3e02b24c9c8b2b66bebfe0ae12faac525 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 31 Jan 2019 14:38:18 -0600 Subject: [PATCH] Download launch backup on first blur, web-3.0.4 with performance optimizations, 3.0.4-beta2 --- app/index.js | 3 ++- app/javascripts/main/archiveManager.js | 11 ++++++++++- app/package-lock.json | 8 ++++---- app/package.json | 4 ++-- package-lock.json | 2 +- package.json | 2 +- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/index.js b/app/index.js index faea9656..70915230 100644 --- a/app/index.js +++ b/app/index.js @@ -55,7 +55,7 @@ function createWindow () { 'y': winState.y, 'width': winState.width, 'height': winState.height, - 'minWidth': 600, + 'minWidth': 300, 'minHeight': 400, show: false, icon: iconLocation, @@ -80,6 +80,7 @@ function createWindow () { win.on('blur', (event) => { win.webContents.send("window-blurred", null); + archiveManager.applicationDidBlur(); }) win.on('focus', (event) => { diff --git a/app/javascripts/main/archiveManager.js b/app/javascripts/main/archiveManager.js index a29c7109..5ce5d07a 100644 --- a/app/javascripts/main/archiveManager.js +++ b/app/javascripts/main/archiveManager.js @@ -21,6 +21,13 @@ class ArchiveManager { this.backupsDisabled = store.get("backupsDisabled"); } + applicationDidBlur() { + if(this.needsBackup) { + this.needsBackup = false; + this.performBackup(); + } + } + defaultLocation() { return path.join(app.getPath('home'), "Standard Notes Backups"); } @@ -87,7 +94,9 @@ class ArchiveManager { clearInterval(this.interval); } - this.performBackup(); + // Instead of performing a backup on app launch, + // which drastically slows down performance, wait until window blurs + this.needsBackup = true; let hoursInterval = 12; // Every X hours let seconds = hoursInterval * 60 * 60; diff --git a/app/package-lock.json b/app/package-lock.json index 448dafec..9bf5bcfd 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "standard-notes", - "version": "3.0.3", + "version": "3.0.4-beta2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -709,9 +709,9 @@ } }, "standard-notes-web": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/standard-notes-web/-/standard-notes-web-3.0.3.tgz", - "integrity": "sha512-QqN6sIbPXroGKGS+qQKAyZTzz/gMLy7cA2LWNTJRIHZ4GuEJSCXyl95v1Opt0/CFv1U/cSyJgAFE/N1MEmfavQ==" + "version": "3.0.4-beta2", + "resolved": "https://registry.npmjs.org/standard-notes-web/-/standard-notes-web-3.0.4-beta2.tgz", + "integrity": "sha512-pM2tuSLhqspECjJIhgkSnElXZOafgQwCUwyMXdT8Ql+ScvtHWdq1ckIQDtMMsSC4tcTAhLBwAsOIlxQ6xc7vdg==" }, "strip-eof": { "version": "1.0.0", diff --git a/app/package.json b/app/package.json index b84409e9..9af6742b 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "productName": "Standard Notes", "description": "A simple and private place for your notes, thoughts, and life's work.", "author": "Standard Notes ", - "version": "3.0.3", + "version": "3.0.4-beta2", "main": "./dist/index.js", "dependencies": { "adm-zip": "^0.4.7", @@ -18,6 +18,6 @@ "request": "^2.83.0", "semver": "^5.5.0", "spellchecker": "github:mobitar/node-spellchecker", - "standard-notes-web": "3.0.3" + "standard-notes-web": "3.0.4-beta2" } } diff --git a/package-lock.json b/package-lock.json index f8edcb52..f53de3e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "standard-notes", - "version": "3.0.3", + "version": "3.0.4-beta2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ad8628ab..6dadef3b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "standard-notes", "main": "./app/dist/index.js", - "version": "3.0.3", + "version": "3.0.4-beta2", "license": "AGPL-3.0-or-later", "devDependencies": { "babel-cli": "^6.26.0",