v1.0.4 - Logic cleanup, minor bug fixes.

Removed the old workaround logic for queueing archives for extraction.
Removed the old forge callback (this was replaced a while ago).
Fixed a typo in _parseDistroModules (getType).
Use discordrpc straight from the repository. The author has refused to push the bugfix for nearly a month.
Fix timestamp issue on discord rich presence.
Dependency upgrades.
This commit is contained in:
Daniel Scalzi 2018-10-31 01:25:38 -04:00
parent 96d08955a4
commit ce86840a87
No known key found for this signature in database
GPG Key ID: 5CA2F145B63535F9
4 changed files with 46 additions and 97 deletions

View File

@ -1282,14 +1282,6 @@ class AssetGuard extends EventEmitter {
const self = this const self = this
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
self.forge = self._parseDistroModules(server.getModules(), server.getMinecraftVersion(), server.getID()) self.forge = self._parseDistroModules(server.getModules(), server.getMinecraftVersion(), server.getID())
// Correct our workaround here.
let decompressqueue = self.forge.callback
self.extractQueue = decompressqueue
self.forge.callback = (asset, self) => {
if(asset.type === DistroManager.Types.ForgeHosted || asset.type === DistroManager.Types.Forge){
AssetGuard._finalizeForgeAsset(asset, self.commonPath).catch(err => console.log(err))
}
}
resolve(server) resolve(server)
}) })
} }
@ -1297,29 +1289,25 @@ class AssetGuard extends EventEmitter {
_parseDistroModules(modules, version, servid){ _parseDistroModules(modules, version, servid){
let alist = [] let alist = []
let asize = 0 let asize = 0
let decompressqueue = []
for(let ob of modules){ for(let ob of modules){
let obType = ob.getType
let obArtifact = ob.getArtifact() let obArtifact = ob.getArtifact()
let obPath = obArtifact.getPath() let obPath = obArtifact.getPath()
let artifact = new DistroModule(ob.getIdentifier(), obArtifact.getHash(), obArtifact.getSize(), obArtifact.getURL(), obPath, obType) let artifact = new DistroModule(ob.getIdentifier(), obArtifact.getHash(), obArtifact.getSize(), obArtifact.getURL(), obPath, ob.getType())
const validationPath = obPath.toLowerCase().endsWith('.pack.xz') ? obPath.substring(0, obPath.toLowerCase().lastIndexOf('.pack.xz')) : obPath const validationPath = obPath.toLowerCase().endsWith('.pack.xz') ? obPath.substring(0, obPath.toLowerCase().lastIndexOf('.pack.xz')) : obPath
if(!AssetGuard._validateLocal(validationPath, 'MD5', artifact.hash)){ if(!AssetGuard._validateLocal(validationPath, 'MD5', artifact.hash)){
asize += artifact.size*1 asize += artifact.size*1
alist.push(artifact) alist.push(artifact)
if(validationPath !== obPath) decompressqueue.push(obPath) if(validationPath !== obPath) this.extractQueue.push(obPath)
} }
//Recursively process the submodules then combine the results. //Recursively process the submodules then combine the results.
if(ob.getSubModules() != null){ if(ob.getSubModules() != null){
let dltrack = this._parseDistroModules(ob.getSubModules(), version, servid) let dltrack = this._parseDistroModules(ob.getSubModules(), version, servid)
asize += dltrack.dlsize*1 asize += dltrack.dlsize*1
alist = alist.concat(dltrack.dlqueue) alist = alist.concat(dltrack.dlqueue)
decompressqueue = decompressqueue.concat(dltrack.callback)
} }
} }
//Since we have no callback at this point, we use this value to store the decompressqueue. return new DLTracker(alist, asize)
return new DLTracker(alist, asize, decompressqueue)
} }
/** /**

View File

@ -16,7 +16,7 @@ exports.initRPC = function(genSettings, servSettings, initialDetails = 'Waiting
largeImageText: servSettings.largeImageText, largeImageText: servSettings.largeImageText,
smallImageKey: genSettings.smallImageKey, smallImageKey: genSettings.smallImageKey,
smallImageText: genSettings.smallImageText, smallImageText: genSettings.smallImageText,
startTimestamp: new Date().getTime() / 1000, startTimestamp: new Date().getTime(),
instance: false instance: false
} }

115
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "westeroscraftlauncher", "name": "westeroscraftlauncher",
"version": "1.0.3", "version": "1.0.4",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -134,28 +134,28 @@
} }
}, },
"app-builder-bin": { "app-builder-bin": {
"version": "2.1.4", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.1.4.tgz", "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.2.0.tgz",
"integrity": "sha512-i5ZfZtnAQqVZXpFYpvkQK/V0p9RwJjCW7X3CRcyDrnR3p1mQRoRTMSfPrtGTo1ens7kTfzk2S2i0QXq+gEplLg==", "integrity": "sha512-ckiG/zWjmCN6dtzOtx4g0Bno9qFlQFViwGoWKNNLUMRM33Fsq2fsSOMbK2JpqPJfAcPJOXPzoB2kcuUuIbIwwA==",
"dev": true "dev": true
}, },
"app-builder-lib": { "app-builder-lib": {
"version": "20.29.1", "version": "20.30.0",
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.29.1.tgz", "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.30.0.tgz",
"integrity": "sha512-kezGeVlOrw9d/0N1522TTEDLGxn566bDxufQI9vmBOXLWKQilXxLNQkxpktWk8HifsYr0o62Ou2sS+uMCIsErg==", "integrity": "sha512-bN6rrjZiXOlr6H/4NEv81Nm3K/e5xAewQgSB48pVfCN2nyppY+gV+tc6X82HFN9FVwPwFgcuRKDKP1wfOVjqkA==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~4.0.2", "7zip-bin": "~4.0.2",
"app-builder-bin": "2.1.4", "app-builder-bin": "2.2.0",
"async-exit-hook": "^2.0.1", "async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util": "7.0.0", "builder-util": "7.1.0",
"builder-util-runtime": "5.0.0", "builder-util-runtime": "5.0.0",
"chromium-pickle-js": "^0.2.0", "chromium-pickle-js": "^0.2.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"ejs": "^2.6.1", "ejs": "^2.6.1",
"electron-osx-sign": "0.4.11", "electron-osx-sign": "0.4.11",
"electron-publish": "20.29.0", "electron-publish": "20.30.0",
"fs-extra-p": "^4.6.1", "fs-extra-p": "^4.6.1",
"hosted-git-info": "^2.7.1", "hosted-git-info": "^2.7.1",
"is-ci": "^1.2.1", "is-ci": "^1.2.1",
@ -329,9 +329,9 @@
} }
}, },
"bluebird": { "bluebird": {
"version": "3.5.1", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz",
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg=="
}, },
"bluebird-lst": { "bluebird-lst": {
"version": "1.0.5", "version": "1.0.5",
@ -429,13 +429,13 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
}, },
"builder-util": { "builder-util": {
"version": "7.0.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/builder-util/-/builder-util-7.0.0.tgz", "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-7.1.0.tgz",
"integrity": "sha512-GnszunK4uX1F8XP4U01m47VME0UQo97wM1i8h77j6+7V0xMz8faL9BHdv2O8/iOZ8HjfKSRJ+1v7RHohF6H0lA==", "integrity": "sha512-PinqkXepVFsJ8S07o1ECiY40L/chcnSvp+C9eCnYi25BfqgNYdL5LApRtM7DgTtSw+CjXClCof+SwJuHuSbhxw==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~4.0.2", "7zip-bin": "~4.0.2",
"app-builder-bin": "2.1.4", "app-builder-bin": "2.2.0",
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util-runtime": "^5.0.0", "builder-util-runtime": "^5.0.0",
"chalk": "^2.4.1", "chalk": "^2.4.1",
@ -471,7 +471,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-5.0.0.tgz", "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-5.0.0.tgz",
"integrity": "sha512-mTyLqmzdPzavKQNAfxcGu6kqaDiPCtFKJG+nNO9SYfL6lY7VgTUW+45iXhowc5ElmPj0eSTDaIGlScxVMwFUEA==", "integrity": "sha512-mTyLqmzdPzavKQNAfxcGu6kqaDiPCtFKJG+nNO9SYfL6lY7VgTUW+45iXhowc5ElmPj0eSTDaIGlScxVMwFUEA==",
"dev": true,
"requires": { "requires": {
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"debug": "^4.1.0", "debug": "^4.1.0",
@ -483,7 +482,6 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
"dev": true,
"requires": { "requires": {
"ms": "^2.1.1" "ms": "^2.1.1"
} }
@ -491,8 +489,7 @@
"ms": { "ms": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
"dev": true
} }
} }
}, },
@ -848,23 +845,22 @@
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
}, },
"discord-rpc": { "discord-rpc": {
"version": "3.0.1", "version": "github:discordjs/RPC#a80e457d3aa9969a6134693ca2102ffc731ebc04",
"resolved": "https://registry.npmjs.org/discord-rpc/-/discord-rpc-3.0.1.tgz", "from": "github:discordjs/RPC",
"integrity": "sha512-PvkVpIlbFowih2mPIOAwUlX+w+9AGtpVUpQrGP6Mu7TPHDjfclsYoRuquIYiSHsS/n5EfhFgMZfsSTRPkvj22w==",
"requires": { "requires": {
"node-fetch": "^2.1.2", "node-fetch": "^2.1.2",
"ws": "^5.2.1" "ws": "^5.2.1"
} }
}, },
"dmg-builder": { "dmg-builder": {
"version": "6.0.0", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.0.0.tgz", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.0.1.tgz",
"integrity": "sha512-nGeCoIctKP48QhohyQ6Uxx754XKyfVa5nx8YK6STIxTXoGTDWR/dwy8m4iCkM77//sd2wMdP9KYsUDuPxtbpLA==", "integrity": "sha512-eSQprMrMl/zTAVvVdlRSQnAL/g2PdNV8CPj8/Ymc6OGDYH2RbTIz5gvW0llTblPO6D3blniOkHdbabqpF7X+2g==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "~20.29.0", "app-builder-lib": "~20.30.0",
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util": "~7.0.0", "builder-util": "~7.1.0",
"fs-extra-p": "^4.6.1", "fs-extra-p": "^4.6.1",
"iconv-lite": "^0.4.24", "iconv-lite": "^0.4.24",
"js-yaml": "^3.12.0", "js-yaml": "^3.12.0",
@ -944,17 +940,17 @@
} }
}, },
"electron-builder": { "electron-builder": {
"version": "20.29.1", "version": "20.30.0",
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.29.1.tgz", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.30.0.tgz",
"integrity": "sha512-1zTxA2v++G96mj02yUXA4XST/1320CcDD3bOnF/kTXJ44ai4IJ+UqWxI8dETO3e0xbZXYBz/9D+JqPBQWGKVvA==", "integrity": "sha512-ujdQN0AMAAVRw3+DUY2vIvHn9NDw6ZQN+tXOw60a1KqKk7d6FNNdoQW4hF5OnT9njauPRVxnrL98djkriNa5aA==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "20.29.1", "app-builder-lib": "20.30.0",
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util": "7.0.0", "builder-util": "7.1.0",
"builder-util-runtime": "5.0.0", "builder-util-runtime": "5.0.0",
"chalk": "^2.4.1", "chalk": "^2.4.1",
"dmg-builder": "6.0.0", "dmg-builder": "6.0.1",
"fs-extra-p": "^4.6.1", "fs-extra-p": "^4.6.1",
"is-ci": "^1.2.1", "is-ci": "^1.2.1",
"lazy-val": "^1.0.3", "lazy-val": "^1.0.3",
@ -1018,13 +1014,13 @@
} }
}, },
"electron-publish": { "electron-publish": {
"version": "20.29.0", "version": "20.30.0",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.29.0.tgz", "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.30.0.tgz",
"integrity": "sha512-Kc5u5YaJLcGWPrp3bFk8NdrYk5gNVG4lZqbAIZnYNPuOLMCNgUk4UqrONO6iuAE6x/vWOoovszf1gGIT7G01UA==", "integrity": "sha512-qGLpRnKF/6pMm135FH3aI+DSuqEozXg4xI1ZmlLWHuAEV4+L5xn10hMuXDwRdG/DYj+iGzLM2gg0lQ9AHYWCbQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util": "~7.0.0", "builder-util": "~7.1.0",
"builder-util-runtime": "^5.0.0", "builder-util-runtime": "^5.0.0",
"chalk": "^2.4.1", "chalk": "^2.4.1",
"fs-extra-p": "^4.6.1", "fs-extra-p": "^4.6.1",
@ -1033,9 +1029,9 @@
} }
}, },
"electron-updater": { "electron-updater": {
"version": "3.1.5", "version": "3.1.6",
"resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-3.1.5.tgz", "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-3.1.6.tgz",
"integrity": "sha512-xZPTExO2q8FjgetiBcmRDY3KgYbo+B2vAsblElR7ygdwdXmY5RtEymNdCmZr0/HSRnd3v2POCx77CASnSZxBWA==", "integrity": "sha512-ZzNrFqvJJmG2O0qEVhAhI25WqJx6Nq3lNlXvBvX3i0zqWtAuSmcAdCbq4VyDymun/glsZ4bD3ZzATcIk3sYygg==",
"requires": { "requires": {
"bluebird-lst": "^1.0.5", "bluebird-lst": "^1.0.5",
"builder-util-runtime": "~5.0.0", "builder-util-runtime": "~5.0.0",
@ -1046,32 +1042,6 @@
"lodash.isequal": "^4.5.0", "lodash.isequal": "^4.5.0",
"semver": "^5.6.0", "semver": "^5.6.0",
"source-map-support": "^0.5.9" "source-map-support": "^0.5.9"
},
"dependencies": {
"builder-util-runtime": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-5.0.0.tgz",
"integrity": "sha512-mTyLqmzdPzavKQNAfxcGu6kqaDiPCtFKJG+nNO9SYfL6lY7VgTUW+45iXhowc5ElmPj0eSTDaIGlScxVMwFUEA==",
"requires": {
"bluebird-lst": "^1.0.5",
"debug": "^4.1.0",
"fs-extra-p": "^4.6.1",
"sax": "^1.2.4"
}
},
"debug": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
}
} }
}, },
"end-of-stream": { "end-of-stream": {
@ -1460,14 +1430,6 @@
"jsonfile": "^4.0.0", "jsonfile": "^4.0.0",
"universalify": "^0.1.0" "universalify": "^0.1.0"
} }
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
} }
} }
}, },
@ -1946,7 +1908,6 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": { "requires": {
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "westeroscraftlauncher", "name": "westeroscraftlauncher",
"version": "1.0.3", "version": "1.0.4",
"description": "Custom modded launcher for Westeroscraft", "description": "Custom modded launcher for Westeroscraft",
"productName": "WesterosCraft Launcher", "productName": "WesterosCraft Launcher",
"main": "index.js", "main": "index.js",
@ -33,10 +33,10 @@
"dependencies": { "dependencies": {
"adm-zip": "^0.4.11", "adm-zip": "^0.4.11",
"async": "^2.6.1", "async": "^2.6.1",
"discord-rpc": "^3.0.1", "discord-rpc": "discordjs/RPC",
"ejs": "^2.6.1", "ejs": "^2.6.1",
"ejs-electron": "^2.0.3", "ejs-electron": "^2.0.3",
"electron-updater": "^3.1.5", "electron-updater": "^3.1.6",
"github-syntax-dark": "^0.5.0", "github-syntax-dark": "^0.5.0",
"jquery": "^3.3.1", "jquery": "^3.3.1",
"mkdirp": "^0.5.1", "mkdirp": "^0.5.1",
@ -49,7 +49,7 @@
}, },
"devDependencies": { "devDependencies": {
"electron": "^3.0.6", "electron": "^3.0.6",
"electron-builder": "^20.29.1", "electron-builder": "^20.30.0",
"eslint": "^5.8.0" "eslint": "^5.8.0"
}, },
"build": { "build": {