Преглед на файлове

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.

Daniel Scalzi преди 7 години
родител
ревизия
acd6143d30
променени са 7 файла, в които са добавени 23 реда и са изтрити 3 реда
  1. 1 0
      .travis.yml
  2. 2 0
      app/assets/css/launcher.css
  3. 8 1
      app/assets/js/scripts/settings.js
  4. 6 0
      app/assets/js/scripts/uicore.js
  5. 3 0
      index.js
  6. 1 1
      package-lock.json
  7. 2 1
      package.json

+ 1 - 0
.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

+ 2 - 0
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;

+ 8 - 1
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 GitHub<span style="font-size: 10px;color: gray;text-shadow: none !important;">Close the launcher and run the file to update.</span>', false, () => {
+                shell.openExternal(data.darwindownload)
+            })
+        } else {
+            settingsUpdateButtonStatus('Downloading..', true)
+        }
     } else {
         settingsUpdateTitle.innerHTML = 'You Are Running the Latest Version'
         settingsUpdateChangelogCont.style.display = 'none'

+ 6 - 0
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':

+ 3 - 0
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)
     })

+ 1 - 1
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": {

+ 2 - 1
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"
     },