From acd6143d301e14f54dfeaa7781590cb92369022b Mon Sep 17 00:00:00 2001 From: Daniel Scalzi Date: Sun, 18 Nov 2018 21:51:48 -0500 Subject: [PATCH] Modify AutoUpdater behavior on macOS. The AutoUpdater requires that macOS builds be code signed. That is currently not possible. As a workaround, the autoupdater on mac will now alert users that an update is available and give the option to download the file directly from GitHub. Closes #16. --- .travis.yml | 1 + app/assets/css/launcher.css | 2 ++ app/assets/js/scripts/settings.js | 9 ++++++++- app/assets/js/scripts/uicore.js | 6 ++++++ index.js | 3 +++ package-lock.json | 2 +- package.json | 3 ++- 7 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4b1bbff..ae1bae5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,7 @@ matrix: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true + - CSC_IDENTITY_AUTO_DISCOVERY=false - os: linux services: docker diff --git a/app/assets/css/launcher.css b/app/assets/css/launcher.css index 7928be5..20505e3 100644 --- a/app/assets/css/launcher.css +++ b/app/assets/css/launcher.css @@ -2099,6 +2099,8 @@ input:checked + .toggleSwitchSlider:before { /* Update action button styles. */ #settingsUpdateActionButton { + display: flex; + flex-direction: column; padding-left: 10px; background: none; border: none; diff --git a/app/assets/js/scripts/settings.js b/app/assets/js/scripts/settings.js index da4142d..ba78342 100644 --- a/app/assets/js/scripts/settings.js +++ b/app/assets/js/scripts/settings.js @@ -1109,7 +1109,14 @@ function populateSettingsUpdateInformation(data){ settingsUpdateChangelogTitle.innerHTML = data.releaseName settingsUpdateChangelogText.innerHTML = data.releaseNotes populateVersionInformation(data.version, settingsUpdateVersionValue, settingsUpdateVersionTitle, settingsUpdateVersionCheck) - settingsUpdateButtonStatus('Downloading..', true) + + if(process.platform === 'darwin'){ + settingsUpdateButtonStatus('Download from GitHubClose the launcher and run the file to update.', false, () => { + shell.openExternal(data.darwindownload) + }) + } else { + settingsUpdateButtonStatus('Downloading..', true) + } } else { settingsUpdateTitle.innerHTML = 'You Are Running the Latest Version' settingsUpdateChangelogCont.style.display = 'none' diff --git a/app/assets/js/scripts/uicore.js b/app/assets/js/scripts/uicore.js index 50a1753..5ef0e14 100644 --- a/app/assets/js/scripts/uicore.js +++ b/app/assets/js/scripts/uicore.js @@ -47,6 +47,12 @@ if(!isDev){ break case 'update-available': loggerAutoUpdaterSuccess.log('New update available', info.version) + + if(process.platform === 'darwin'){ + info.darwindownload = `https://github.com/WesterosCraftCode/ElectronLauncher/releases/download/v${info.version}/westeroscraftlauncher-${info.version}.dmg` + showUpdateUI(info) + } + populateSettingsUpdateInformation(info) break case 'update-downloaded': diff --git a/index.js b/index.js index 2118bfe..5f66c6c 100644 --- a/index.js +++ b/index.js @@ -22,6 +22,9 @@ function initAutoUpdater(event, data) { autoUpdater.autoInstallOnAppQuit = false autoUpdater.updateConfigPath = path.join(__dirname, 'dev-app-update.yml') } + if(process.platform === 'darwin'){ + autoUpdater.autoDownload = false + } autoUpdater.on('update-available', (info) => { event.sender.send('autoUpdateNotification', 'update-available', info) }) diff --git a/package-lock.json b/package-lock.json index 449e1ae..d0dd297 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "westeroscraftlauncher", - "version": "1.0.6-pre.2", + "version": "1.1.0-pre.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3644917..f488f0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "westeroscraftlauncher", - "version": "1.0.6-pre.2", + "version": "1.1.0-pre.1", "productName": "WesterosCraft Launcher", "description": "Modded Minecraft Launcher", "author": "Daniel Scalzi (https://github.com/dscalzi/)", @@ -76,6 +76,7 @@ "uninstallerIcon": "build/icon.ico" }, "mac": { + "target": "dmg", "category": "public.app-category.games", "icon": "build/icon.icns" },