mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 19:52:14 -08:00
Wrap calls to console.log through LoggerUtil (prefixes).
This commit is contained in:
parent
37606dc8d2
commit
0346597afe
@ -10,7 +10,10 @@
|
|||||||
*/
|
*/
|
||||||
// Requirements
|
// Requirements
|
||||||
const ConfigManager = require('./configmanager')
|
const ConfigManager = require('./configmanager')
|
||||||
|
const LoggerUtil = require('./loggerutil')
|
||||||
const Mojang = require('./mojang')
|
const Mojang = require('./mojang')
|
||||||
|
const logger = LoggerUtil('%c[AuthManager]', 'color: #a02d2a; font-weight: bold')
|
||||||
|
const loggerSuccess = LoggerUtil('%c[AuthManager]', 'color: #209b07; font-weight: bold')
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
|
||||||
@ -69,18 +72,20 @@ exports.validateSelected = async function(){
|
|||||||
if(!isValid){
|
if(!isValid){
|
||||||
try {
|
try {
|
||||||
const session = await Mojang.refresh(current.accessToken, ConfigManager.getClientToken())
|
const session = await Mojang.refresh(current.accessToken, ConfigManager.getClientToken())
|
||||||
console.log('ses', session)
|
|
||||||
ConfigManager.updateAuthAccount(current.uuid, session.accessToken)
|
ConfigManager.updateAuthAccount(current.uuid, session.accessToken)
|
||||||
ConfigManager.save()
|
ConfigManager.save()
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
console.debug('Error while validating selected profile:', err)
|
logger.debug('Error while validating selected profile:', err)
|
||||||
if(err && err.error === 'ForbiddenOperationException'){
|
if(err && err.error === 'ForbiddenOperationException'){
|
||||||
// What do we do?
|
// What do we do?
|
||||||
}
|
}
|
||||||
|
logger.log('Account access token is invalid.')
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
loggerSuccess.log('Account access token validated.')
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
|
loggerSuccess.log('Account access token validated.')
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,11 @@
|
|||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const mkpath = require('mkdirp')
|
const mkpath = require('mkdirp')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const uuidV4 = require('uuid/v4')
|
const uuidV4 = require('uuid/v4')
|
||||||
|
|
||||||
|
const logger = require('./loggerutil')('%c[ConfigManager]', 'color: #a02d2a; font-weight: bold')
|
||||||
|
|
||||||
const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME)
|
const sysRoot = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME)
|
||||||
const dataPath = path.join(sysRoot, '.westeroscraft')
|
const dataPath = path.join(sysRoot, '.westeroscraft')
|
||||||
|
|
||||||
@ -106,9 +108,9 @@ exports.load = function(){
|
|||||||
config = JSON.parse(fs.readFileSync(filePath, 'UTF-8'))
|
config = JSON.parse(fs.readFileSync(filePath, 'UTF-8'))
|
||||||
doValidate = true
|
doValidate = true
|
||||||
} catch (err){
|
} catch (err){
|
||||||
console.error(err)
|
logger.error(err)
|
||||||
console.log('%c[ConfigManager]', 'color: #a02d2a; font-weight: bold', 'Configuration file contains malformed JSON or is corrupt.')
|
logger.log('Configuration file contains malformed JSON or is corrupt.')
|
||||||
console.log('%c[ConfigManager]', 'color: #a02d2a; font-weight: bold', 'Generating a new configuration file.')
|
logger.log('Generating a new configuration file.')
|
||||||
mkpath.sync(path.join(filePath, '..'))
|
mkpath.sync(path.join(filePath, '..'))
|
||||||
config = DEFAULT_CONFIG
|
config = DEFAULT_CONFIG
|
||||||
exports.save()
|
exports.save()
|
||||||
@ -118,7 +120,7 @@ exports.load = function(){
|
|||||||
exports.save()
|
exports.save()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log('%c[ConfigManager]', 'color: #a02d2a; font-weight: bold', 'Successfully Loaded')
|
logger.log('Successfully Loaded')
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
// Work in progress
|
// Work in progress
|
||||||
|
const logger = require('./loggerutil')('%c[DiscordWrapper]', 'color: #7289da; font-weight: bold')
|
||||||
|
|
||||||
const {Client} = require('discord-rpc')
|
const {Client} = require('discord-rpc')
|
||||||
|
|
||||||
let client
|
let client
|
||||||
@ -19,15 +21,15 @@ exports.initRPC = function(genSettings, servSettings, initialDetails = 'Waiting
|
|||||||
}
|
}
|
||||||
|
|
||||||
client.on('ready', () => {
|
client.on('ready', () => {
|
||||||
console.log('%c[Discord Wrapper]', 'color: #a02d2a; font-weight: bold', 'Discord RPC Connected')
|
logger.log('Discord RPC Connected')
|
||||||
client.setActivity(activity)
|
client.setActivity(activity)
|
||||||
})
|
})
|
||||||
|
|
||||||
client.login({clientId: genSettings.clientId}).catch(error => {
|
client.login({clientId: genSettings.clientId}).catch(error => {
|
||||||
if(error.message.includes('ENOENT')) {
|
if(error.message.includes('ENOENT')) {
|
||||||
console.log('%c[Discord Wrapper]', 'color: #a02d2a; font-weight: bold', 'Unable to initialize Discord Rich Presence, no client detected.')
|
logger.log('Unable to initialize Discord Rich Presence, no client detected.')
|
||||||
} else {
|
} else {
|
||||||
console.log('%c[Discord Wrapper]', 'color: #a02d2a; font-weight: bold', 'Unable to initialize Discord Rich Presence: ' + error.message, error)
|
logger.log('Unable to initialize Discord Rich Presence: ' + error.message, error)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ const path = require('path')
|
|||||||
const request = require('request')
|
const request = require('request')
|
||||||
|
|
||||||
const ConfigManager = require('./configmanager')
|
const ConfigManager = require('./configmanager')
|
||||||
|
const logger = require('./loggerutil')('%c[DistroManager]', 'color: #a02d2a; font-weight: bold')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the download information
|
* Represents the download information
|
||||||
@ -168,7 +169,7 @@ class Module {
|
|||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Improper identifier
|
// Improper identifier
|
||||||
console.error('Improper ID for module', this.identifier, err)
|
logger.error('Improper ID for module', this.identifier, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -567,10 +568,10 @@ exports.pullLocal = function(){
|
|||||||
|
|
||||||
exports.setDevMode = function(value){
|
exports.setDevMode = function(value){
|
||||||
if(value){
|
if(value){
|
||||||
console.log('%c[DistroManager]', 'color: #a02d2a; font-weight: bold', 'Developer mode enabled.')
|
logger.log('Developer mode enabled.')
|
||||||
console.log('%c[DistroManager]', 'color: #a02d2a; font-weight: bold', 'If you don\'t know what that means, revert immediately.')
|
logger.log('If you don\'t know what that means, revert immediately.')
|
||||||
} else {
|
} else {
|
||||||
console.log('%c[DistroManager]', 'color: #a02d2a; font-weight: bold', 'Developer mode disabled.')
|
logger.log('Developer mode disabled.')
|
||||||
}
|
}
|
||||||
DEV_MODE = value
|
DEV_MODE = value
|
||||||
}
|
}
|
||||||
@ -585,10 +586,3 @@ exports.isDevMode = function(){
|
|||||||
exports.getDistribution = function(){
|
exports.getDistribution = function(){
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
/*async function debug(){
|
|
||||||
const d = await exports.pullRemote()
|
|
||||||
console.log(d)
|
|
||||||
}
|
|
||||||
debug()*/
|
|
||||||
//console.log(DistroIndex.fromJSON(JSON.parse(require('fs').readFileSync('../distribution.json', 'utf-8'))))
|
|
28
app/assets/js/loggerutil.js
Normal file
28
app/assets/js/loggerutil.js
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
class LoggerUtil {
|
||||||
|
|
||||||
|
constructor(prefix, style){
|
||||||
|
this.prefix = prefix
|
||||||
|
this.style = style
|
||||||
|
}
|
||||||
|
|
||||||
|
log(){
|
||||||
|
console.log.apply(null, [this.prefix, this.style, ...arguments])
|
||||||
|
}
|
||||||
|
|
||||||
|
info(){
|
||||||
|
console.info.apply(null, [this.prefix, this.style, ...arguments])
|
||||||
|
}
|
||||||
|
|
||||||
|
debug(){
|
||||||
|
console.debug.apply(null, [this.prefix, this.style, ...arguments])
|
||||||
|
}
|
||||||
|
|
||||||
|
error(){
|
||||||
|
console.error.apply(null, [this.prefix, this.style, ...arguments])
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function (prefix, style){
|
||||||
|
return new LoggerUtil(prefix, style)
|
||||||
|
}
|
@ -7,6 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
// Requirements
|
// Requirements
|
||||||
const request = require('request')
|
const request = require('request')
|
||||||
|
const logger = require('./loggerutil')('%c[Mojang]', 'color: #a02d2a; font-weight: bold')
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
const minecraftAgent = {
|
const minecraftAgent = {
|
||||||
@ -95,8 +96,8 @@ exports.status = function(){
|
|||||||
function(error, response, body){
|
function(error, response, body){
|
||||||
|
|
||||||
if(error || response.statusCode !== 200){
|
if(error || response.statusCode !== 200){
|
||||||
console.warn('Unable to retrieve Mojang status.')
|
logger.warn('Unable to retrieve Mojang status.')
|
||||||
console.debug('Error while retrieving Mojang statuses:', error)
|
logger.debug('Error while retrieving Mojang statuses:', error)
|
||||||
//reject(error || response.statusCode)
|
//reject(error || response.statusCode)
|
||||||
for(let i=0; i<statuses.length; i++){
|
for(let i=0; i<statuses.length; i++){
|
||||||
statuses[i].status = 'grey'
|
statuses[i].status = 'grey'
|
||||||
@ -145,7 +146,7 @@ exports.authenticate = function(username, password, clientToken, requestUser = t
|
|||||||
},
|
},
|
||||||
function(error, response, body){
|
function(error, response, body){
|
||||||
if(error){
|
if(error){
|
||||||
console.error('Error during authentication.', error)
|
logger.error('Error during authentication.', error)
|
||||||
reject(error)
|
reject(error)
|
||||||
} else {
|
} else {
|
||||||
if(response.statusCode === 200){
|
if(response.statusCode === 200){
|
||||||
@ -179,7 +180,7 @@ exports.validate = function(accessToken, clientToken){
|
|||||||
},
|
},
|
||||||
function(error, response, body){
|
function(error, response, body){
|
||||||
if(error){
|
if(error){
|
||||||
console.error('Error during validation.', error)
|
logger.error('Error during validation.', error)
|
||||||
reject(error)
|
reject(error)
|
||||||
} else {
|
} else {
|
||||||
if(response.statusCode === 403){
|
if(response.statusCode === 403){
|
||||||
@ -214,7 +215,7 @@ exports.invalidate = function(accessToken, clientToken){
|
|||||||
},
|
},
|
||||||
function(error, response, body){
|
function(error, response, body){
|
||||||
if(error){
|
if(error){
|
||||||
console.error('Error during invalidation.', error)
|
logger.error('Error during invalidation.', error)
|
||||||
reject(error)
|
reject(error)
|
||||||
} else {
|
} else {
|
||||||
if(response.statusCode === 204){
|
if(response.statusCode === 204){
|
||||||
@ -251,7 +252,7 @@ exports.refresh = function(accessToken, clientToken, requestUser = true){
|
|||||||
},
|
},
|
||||||
function(error, response, body){
|
function(error, response, body){
|
||||||
if(error){
|
if(error){
|
||||||
console.error('Error during refresh.', error)
|
logger.error('Error during refresh.', error)
|
||||||
reject(error)
|
reject(error)
|
||||||
} else {
|
} else {
|
||||||
if(response.statusCode === 200){
|
if(response.statusCode === 200){
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
const {ipcRenderer} = require('electron')
|
const {ipcRenderer} = require('electron')
|
||||||
const os = require('os')
|
const os = require('os')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const rimraf = require('rimraf')
|
const rimraf = require('rimraf')
|
||||||
|
|
||||||
const ConfigManager = require('./configmanager')
|
const ConfigManager = require('./configmanager')
|
||||||
const DistroManager = require('./distromanager')
|
const DistroManager = require('./distromanager')
|
||||||
|
const logger = require('./loggerutil')('%c[Preloader]', 'color: #a02d2a; font-weight: bold')
|
||||||
|
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Loading..')
|
logger.log('Loading..')
|
||||||
|
|
||||||
// Load ConfigManager
|
// Load ConfigManager
|
||||||
ConfigManager.load()
|
ConfigManager.load()
|
||||||
@ -16,7 +17,7 @@ function onDistroLoad(data){
|
|||||||
|
|
||||||
// Resolve the selected server if its value has yet to be set.
|
// Resolve the selected server if its value has yet to be set.
|
||||||
if(ConfigManager.getSelectedServer() == null || data.getServer(ConfigManager.getSelectedServer()) == null){
|
if(ConfigManager.getSelectedServer() == null || data.getServer(ConfigManager.getSelectedServer()) == null){
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Determining default selected server..')
|
logger.log('Determining default selected server..')
|
||||||
ConfigManager.setSelectedServer(data.getMainServer().getID())
|
ConfigManager.setSelectedServer(data.getMainServer().getID())
|
||||||
ConfigManager.save()
|
ConfigManager.save()
|
||||||
}
|
}
|
||||||
@ -26,27 +27,27 @@ function onDistroLoad(data){
|
|||||||
|
|
||||||
// Ensure Distribution is downloaded and cached.
|
// Ensure Distribution is downloaded and cached.
|
||||||
DistroManager.pullRemote().then((data) => {
|
DistroManager.pullRemote().then((data) => {
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Loaded distribution index.')
|
logger.log('Loaded distribution index.')
|
||||||
|
|
||||||
onDistroLoad(data)
|
onDistroLoad(data)
|
||||||
|
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Failed to load distribution index.')
|
logger.log('Failed to load distribution index.')
|
||||||
console.error(err)
|
logger.error(err)
|
||||||
|
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Attempting to load an older version of the distribution index.')
|
logger.log('Attempting to load an older version of the distribution index.')
|
||||||
// Try getting a local copy, better than nothing.
|
// Try getting a local copy, better than nothing.
|
||||||
DistroManager.pullLocal().then((data) => {
|
DistroManager.pullLocal().then((data) => {
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Successfully loaded an older version of the distribution index.')
|
logger.log('Successfully loaded an older version of the distribution index.')
|
||||||
|
|
||||||
onDistroLoad(data)
|
onDistroLoad(data)
|
||||||
|
|
||||||
|
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
|
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Failed to load an older version of the distribution index.')
|
logger.log('Failed to load an older version of the distribution index.')
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Application cannot run.')
|
logger.log('Application cannot run.')
|
||||||
console.error(err)
|
logger.error(err)
|
||||||
|
|
||||||
onDistroLoad(null)
|
onDistroLoad(null)
|
||||||
|
|
||||||
@ -57,8 +58,8 @@ DistroManager.pullRemote().then((data) => {
|
|||||||
// Clean up temp dir incase previous launches ended unexpectedly.
|
// Clean up temp dir incase previous launches ended unexpectedly.
|
||||||
rimraf(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
rimraf(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
||||||
if(err){
|
if(err){
|
||||||
console.warn('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Error while cleaning natives directory', err)
|
logger.warn('Error while cleaning natives directory', err)
|
||||||
} else {
|
} else {
|
||||||
console.log('%c[Preloader]', 'color: #a02d2a; font-weight: bold', 'Cleaned natives directory.')
|
logger.log('Cleaned natives directory.')
|
||||||
}
|
}
|
||||||
})
|
})
|
@ -8,9 +8,12 @@ const path = require('path')
|
|||||||
const rimraf = require('rimraf')
|
const rimraf = require('rimraf')
|
||||||
const {URL} = require('url')
|
const {URL} = require('url')
|
||||||
|
|
||||||
const { Library } = require('./assetguard')
|
const { Library } = require('./assetguard')
|
||||||
const ConfigManager = require('./configmanager')
|
const ConfigManager = require('./configmanager')
|
||||||
const DistroManager = require('./distromanager')
|
const DistroManager = require('./distromanager')
|
||||||
|
const LoggerUtil = require('./loggerutil')
|
||||||
|
|
||||||
|
const logger = LoggerUtil('%c[ProcessBuilder]', 'color: #003996; font-weight: bold')
|
||||||
|
|
||||||
class ProcessBuilder {
|
class ProcessBuilder {
|
||||||
|
|
||||||
@ -37,7 +40,7 @@ class ProcessBuilder {
|
|||||||
const tempNativePath = path.join(os.tmpdir(), ConfigManager.getTempNativeFolder(), crypto.pseudoRandomBytes(16).toString('hex'))
|
const tempNativePath = path.join(os.tmpdir(), ConfigManager.getTempNativeFolder(), crypto.pseudoRandomBytes(16).toString('hex'))
|
||||||
process.throwDeprecation = true
|
process.throwDeprecation = true
|
||||||
this.setupLiteLoader()
|
this.setupLiteLoader()
|
||||||
console.log('%c[ProcessBuilder]', 'color: #003996; font-weight: bold', 'Using liteloader:', this.usingLiteLoader)
|
logger.log('Using liteloader:', this.usingLiteLoader)
|
||||||
const modObj = this.resolveModConfiguration(ConfigManager.getModConfiguration(this.server.getID()).mods, this.server.getModules())
|
const modObj = this.resolveModConfiguration(ConfigManager.getModConfiguration(this.server.getID()).mods, this.server.getModules())
|
||||||
this.constructModList('forge', modObj.fMods, true)
|
this.constructModList('forge', modObj.fMods, true)
|
||||||
if(this.usingLiteLoader){
|
if(this.usingLiteLoader){
|
||||||
@ -46,7 +49,7 @@ class ProcessBuilder {
|
|||||||
const uberModArr = modObj.fMods.concat(modObj.lMods)
|
const uberModArr = modObj.fMods.concat(modObj.lMods)
|
||||||
const args = this.constructJVMArguments(uberModArr, tempNativePath)
|
const args = this.constructJVMArguments(uberModArr, tempNativePath)
|
||||||
|
|
||||||
console.log(args)
|
logger.log('Launch Arguments:', args)
|
||||||
|
|
||||||
const child = child_process.spawn(ConfigManager.getJavaExecutable(), args, {
|
const child = child_process.spawn(ConfigManager.getJavaExecutable(), args, {
|
||||||
cwd: this.gameDir,
|
cwd: this.gameDir,
|
||||||
@ -60,19 +63,22 @@ class ProcessBuilder {
|
|||||||
child.stdout.setEncoding('utf8')
|
child.stdout.setEncoding('utf8')
|
||||||
child.stderr.setEncoding('utf8')
|
child.stderr.setEncoding('utf8')
|
||||||
|
|
||||||
|
const loggerMCstdout = LoggerUtil('%c[Minecraft]', 'color: #36b030; font-weight: bold')
|
||||||
|
const loggerMCstderr = LoggerUtil('%c[Minecraft]', 'color: #b03030; font-weight: bold')
|
||||||
|
|
||||||
child.stdout.on('data', (data) => {
|
child.stdout.on('data', (data) => {
|
||||||
console.log('%c[Minecraft]', 'color: #36b030; font-weight: bold', data)
|
loggerMCstdout.log(data)
|
||||||
})
|
})
|
||||||
child.stderr.on('data', (data) => {
|
child.stderr.on('data', (data) => {
|
||||||
console.log('%c[Minecraft]', 'color: #b03030; font-weight: bold', data)
|
loggerMCstderr.log(data)
|
||||||
})
|
})
|
||||||
child.on('close', (code, signal) => {
|
child.on('close', (code, signal) => {
|
||||||
console.log('%c[ProcessBuilder]', 'color: #003996; font-weight: bold', 'Exited with code', code)
|
logger.log('Exited with code', code)
|
||||||
rimraf(tempNativePath, (err) => {
|
rimraf(tempNativePath, (err) => {
|
||||||
if(err){
|
if(err){
|
||||||
console.warn('%c[ProcessBuilder]', 'color: #003996; font-weight: bold', 'Error while deleting temp dir', err)
|
logger.warn('Error while deleting temp dir', err)
|
||||||
} else {
|
} else {
|
||||||
console.log('%c[ProcessBuilder]', 'color: #003996; font-weight: bold', 'Temp dir deleted successfully.')
|
logger.log('Temp dir deleted successfully.')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -401,7 +407,7 @@ class ProcessBuilder {
|
|||||||
if(!shouldExclude){
|
if(!shouldExclude){
|
||||||
fs.writeFile(path.join(tempNativePath, fileName), zipEntries[i].getData(), (err) => {
|
fs.writeFile(path.join(tempNativePath, fileName), zipEntries[i].getData(), (err) => {
|
||||||
if(err){
|
if(err){
|
||||||
console.error('Error while extracting native library:', err)
|
logger.error('Error while extracting native library:', err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,8 @@ const launch_details_text = document.getElementById('launch_details_text')
|
|||||||
const server_selection_button = document.getElementById('server_selection_button')
|
const server_selection_button = document.getElementById('server_selection_button')
|
||||||
const user_text = document.getElementById('user_text')
|
const user_text = document.getElementById('user_text')
|
||||||
|
|
||||||
|
const loggerLanding = LoggerUtil('%c[Landing]', 'color: #000668; font-weight: bold')
|
||||||
|
|
||||||
/* Launch Progress Wrapper Functions */
|
/* Launch Progress Wrapper Functions */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,7 +85,7 @@ function setLaunchEnabled(val){
|
|||||||
|
|
||||||
// Bind launch button
|
// Bind launch button
|
||||||
document.getElementById('launch_button').addEventListener('click', function(e){
|
document.getElementById('launch_button').addEventListener('click', function(e){
|
||||||
console.log('Launching game..')
|
loggerLanding.log('Launching game..')
|
||||||
const jExe = ConfigManager.getJavaExecutable()
|
const jExe = ConfigManager.getJavaExecutable()
|
||||||
if(jExe == null){
|
if(jExe == null){
|
||||||
asyncSystemScan()
|
asyncSystemScan()
|
||||||
@ -94,7 +96,7 @@ document.getElementById('launch_button').addEventListener('click', function(e){
|
|||||||
setLaunchPercentage(0, 100)
|
setLaunchPercentage(0, 100)
|
||||||
|
|
||||||
AssetGuard._validateJavaBinary(jExe).then((v) => {
|
AssetGuard._validateJavaBinary(jExe).then((v) => {
|
||||||
console.log(v)
|
loggerLanding.log('Java version meta', v)
|
||||||
if(v.valid){
|
if(v.valid){
|
||||||
dlAsync()
|
dlAsync()
|
||||||
} else {
|
} else {
|
||||||
@ -152,7 +154,7 @@ server_selection_button.onclick = (e) => {
|
|||||||
|
|
||||||
// Update Mojang Status Color
|
// Update Mojang Status Color
|
||||||
const refreshMojangStatuses = async function(){
|
const refreshMojangStatuses = async function(){
|
||||||
console.log('Refreshing Mojang Statuses..')
|
loggerLanding.log('Refreshing Mojang Statuses..')
|
||||||
|
|
||||||
let status = 'grey'
|
let status = 'grey'
|
||||||
let tooltipEssentialHTML = ''
|
let tooltipEssentialHTML = ''
|
||||||
@ -200,8 +202,8 @@ const refreshMojangStatuses = async function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn('Unable to refresh Mojang service status.')
|
loggerLanding.warn('Unable to refresh Mojang service status.')
|
||||||
console.debug(err)
|
loggerLanding.debug(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
document.getElementById('mojangStatusEssentialContainer').innerHTML = tooltipEssentialHTML
|
document.getElementById('mojangStatusEssentialContainer').innerHTML = tooltipEssentialHTML
|
||||||
@ -210,7 +212,7 @@ const refreshMojangStatuses = async function(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
const refreshServerStatus = async function(fade = false){
|
const refreshServerStatus = async function(fade = false){
|
||||||
console.log('Refreshing Server Status')
|
loggerLanding.log('Refreshing Server Status')
|
||||||
const serv = DistroManager.getDistribution().getServer(ConfigManager.getSelectedServer())
|
const serv = DistroManager.getDistribution().getServer(ConfigManager.getSelectedServer())
|
||||||
|
|
||||||
let pLabel = 'SERVER'
|
let pLabel = 'SERVER'
|
||||||
@ -225,8 +227,8 @@ const refreshServerStatus = async function(fade = false){
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.warn('Unable to refresh server status, assuming offline.')
|
loggerLanding.warn('Unable to refresh server status, assuming offline.')
|
||||||
console.debug(err)
|
loggerLanding.debug(err)
|
||||||
}
|
}
|
||||||
if(fade){
|
if(fade){
|
||||||
$('#server_status_wrapper').fadeOut(250, () => {
|
$('#server_status_wrapper').fadeOut(250, () => {
|
||||||
@ -261,6 +263,8 @@ function asyncSystemScan(launchAfter = true){
|
|||||||
toggleLaunchArea(true)
|
toggleLaunchArea(true)
|
||||||
setLaunchPercentage(0, 100)
|
setLaunchPercentage(0, 100)
|
||||||
|
|
||||||
|
const loggerSysAEx = LoggerUtil('%c[SysAEx]', 'color: #353232; font-weight: bold')
|
||||||
|
|
||||||
// Fork a process to run validations.
|
// Fork a process to run validations.
|
||||||
sysAEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
|
sysAEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
|
||||||
ConfigManager.getCommonDirectory(),
|
ConfigManager.getCommonDirectory(),
|
||||||
@ -269,12 +273,14 @@ function asyncSystemScan(launchAfter = true){
|
|||||||
stdio: 'pipe'
|
stdio: 'pipe'
|
||||||
})
|
})
|
||||||
// Stdout
|
// Stdout
|
||||||
|
sysAEx.stdio[1].setEncoding('utf8')
|
||||||
sysAEx.stdio[1].on('data', (data) => {
|
sysAEx.stdio[1].on('data', (data) => {
|
||||||
console.log('%c[SysAEx]', 'color: #353232; font-weight: bold', data.toString('utf-8'))
|
loggerSysAEx.log(data)
|
||||||
})
|
})
|
||||||
// Stderr
|
// Stderr
|
||||||
|
sysAEx.stdio[2].setEncoding('utf8')
|
||||||
sysAEx.stdio[2].on('data', (data) => {
|
sysAEx.stdio[2].on('data', (data) => {
|
||||||
console.log('%c[SysAEx]', 'color: #353232; font-weight: bold', data.toString('utf-8'))
|
loggerSysAEx.log(data)
|
||||||
})
|
})
|
||||||
|
|
||||||
sysAEx.on('message', (m) => {
|
sysAEx.on('message', (m) => {
|
||||||
@ -442,8 +448,7 @@ function dlAsync(login = true){
|
|||||||
|
|
||||||
if(login) {
|
if(login) {
|
||||||
if(ConfigManager.getSelectedAccount() == null){
|
if(ConfigManager.getSelectedAccount() == null){
|
||||||
console.error('login first.')
|
loggerLanding.error('You must be logged into an account.')
|
||||||
//in devtools AuthManager.addAccount(username, pass)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -452,6 +457,9 @@ function dlAsync(login = true){
|
|||||||
toggleLaunchArea(true)
|
toggleLaunchArea(true)
|
||||||
setLaunchPercentage(0, 100)
|
setLaunchPercentage(0, 100)
|
||||||
|
|
||||||
|
const loggerAEx = LoggerUtil('%c[AEx]', 'color: #353232; font-weight: bold')
|
||||||
|
const loggerLaunchSuite = LoggerUtil('%c[LaunchSuite]', 'color: #000668; font-weight: bold')
|
||||||
|
|
||||||
// Start AssetExec to run validations and downloads in a forked process.
|
// Start AssetExec to run validations and downloads in a forked process.
|
||||||
aEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
|
aEx = cp.fork(path.join(__dirname, 'assets', 'js', 'assetexec.js'), [
|
||||||
ConfigManager.getCommonDirectory(),
|
ConfigManager.getCommonDirectory(),
|
||||||
@ -460,12 +468,14 @@ function dlAsync(login = true){
|
|||||||
stdio: 'pipe'
|
stdio: 'pipe'
|
||||||
})
|
})
|
||||||
// Stdout
|
// Stdout
|
||||||
|
aEx.stdio[1].setEncoding('utf8')
|
||||||
aEx.stdio[1].on('data', (data) => {
|
aEx.stdio[1].on('data', (data) => {
|
||||||
console.log('%c[AEx]', 'color: #353232; font-weight: bold', data.toString('utf-8'))
|
loggerAEx.log(data)
|
||||||
})
|
})
|
||||||
// Stderr
|
// Stderr
|
||||||
|
aEx.stdio[2].setEncoding('utf8')
|
||||||
aEx.stdio[2].on('data', (data) => {
|
aEx.stdio[2].on('data', (data) => {
|
||||||
console.log('%c[AEx]', 'color: #353232; font-weight: bold', data.toString('utf-8'))
|
loggerAEx.log(data)
|
||||||
})
|
})
|
||||||
|
|
||||||
// Establish communications between the AssetExec and current process.
|
// Establish communications between the AssetExec and current process.
|
||||||
@ -475,27 +485,27 @@ function dlAsync(login = true){
|
|||||||
switch(m.data){
|
switch(m.data){
|
||||||
case 'distribution':
|
case 'distribution':
|
||||||
setLaunchPercentage(20, 100)
|
setLaunchPercentage(20, 100)
|
||||||
console.log('Validated distibution index.')
|
loggerLaunchSuite.log('Validated distibution index.')
|
||||||
setLaunchDetails('Loading version information..')
|
setLaunchDetails('Loading version information..')
|
||||||
break
|
break
|
||||||
case 'version':
|
case 'version':
|
||||||
setLaunchPercentage(40, 100)
|
setLaunchPercentage(40, 100)
|
||||||
console.log('Version data loaded.')
|
loggerLaunchSuite.log('Version data loaded.')
|
||||||
setLaunchDetails('Validating asset integrity..')
|
setLaunchDetails('Validating asset integrity..')
|
||||||
break
|
break
|
||||||
case 'assets':
|
case 'assets':
|
||||||
setLaunchPercentage(60, 100)
|
setLaunchPercentage(60, 100)
|
||||||
console.log('Asset Validation Complete')
|
loggerLaunchSuite.log('Asset Validation Complete')
|
||||||
setLaunchDetails('Validating library integrity..')
|
setLaunchDetails('Validating library integrity..')
|
||||||
break
|
break
|
||||||
case 'libraries':
|
case 'libraries':
|
||||||
setLaunchPercentage(80, 100)
|
setLaunchPercentage(80, 100)
|
||||||
console.log('Library validation complete.')
|
loggerLaunchSuite.log('Library validation complete.')
|
||||||
setLaunchDetails('Validating miscellaneous file integrity..')
|
setLaunchDetails('Validating miscellaneous file integrity..')
|
||||||
break
|
break
|
||||||
case 'files':
|
case 'files':
|
||||||
setLaunchPercentage(100, 100)
|
setLaunchPercentage(100, 100)
|
||||||
console.log('File validation complete.')
|
loggerLaunchSuite.log('File validation complete.')
|
||||||
setLaunchDetails('Downloading files..')
|
setLaunchDetails('Downloading files..')
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -544,7 +554,7 @@ function dlAsync(login = true){
|
|||||||
} else if(m.context === 'error'){
|
} else if(m.context === 'error'){
|
||||||
switch(m.data){
|
switch(m.data){
|
||||||
case 'download':
|
case 'download':
|
||||||
console.error(m.error)
|
loggerLaunchSuite.error('Error while downloading:', m.error)
|
||||||
|
|
||||||
if(m.error.code === 'ENOENT'){
|
if(m.error.code === 'ENOENT'){
|
||||||
setOverlayContent(
|
setOverlayContent(
|
||||||
@ -574,7 +584,7 @@ function dlAsync(login = true){
|
|||||||
|
|
||||||
// If these properties are not defined it's likely an error.
|
// If these properties are not defined it's likely an error.
|
||||||
if(m.result.forgeData == null || m.result.versionData == null){
|
if(m.result.forgeData == null || m.result.versionData == null){
|
||||||
console.error(m.result)
|
loggerLaunchSuite.error('Error during validation:', m.result)
|
||||||
}
|
}
|
||||||
|
|
||||||
forgeData = m.result.forgeData
|
forgeData = m.result.forgeData
|
||||||
@ -582,7 +592,7 @@ function dlAsync(login = true){
|
|||||||
|
|
||||||
if(login) {
|
if(login) {
|
||||||
const authUser = ConfigManager.getSelectedAccount()
|
const authUser = ConfigManager.getSelectedAccount()
|
||||||
console.log('authu', authUser)
|
loggerLaunchSuite.log(`Sending selected account (${authUser.displayName}) to ProcessBuilder.`)
|
||||||
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser)
|
let pb = new ProcessBuilder(serv, versionData, forgeData, authUser)
|
||||||
setLaunchDetails('Launching game..')
|
setLaunchDetails('Launching game..')
|
||||||
|
|
||||||
@ -615,7 +625,7 @@ function dlAsync(login = true){
|
|||||||
const gameErrorListener = function(data){
|
const gameErrorListener = function(data){
|
||||||
data = data.trim()
|
data = data.trim()
|
||||||
if(data.indexOf('Could not find or load main class net.minecraft.launchwrapper.Launch') > -1){
|
if(data.indexOf('Could not find or load main class net.minecraft.launchwrapper.Launch') > -1){
|
||||||
console.error('Game launch failed, LaunchWrapper was not downloaded properly.')
|
loggerLaunchSuite.error('Game launch failed, LaunchWrapper was not downloaded properly.')
|
||||||
setOverlayContent(
|
setOverlayContent(
|
||||||
'Error During Launch',
|
'Error During Launch',
|
||||||
'The main file, LaunchWrapper, failed to download properly. As a result, the game cannot launch.<br><br>To fix this issue, temporarily turn off your antivirus software and launch the game again.<br><br>If you have time, please <a href="https://github.com/WesterosCraftCode/ElectronLauncher/issues">submit an issue</a> and let us know what antivirus software you use. We\'ll contact them and try to straighten things out.',
|
'The main file, LaunchWrapper, failed to download properly. As a result, the game cannot launch.<br><br>To fix this issue, temporarily turn off your antivirus software and launch the game again.<br><br>If you have time, please <a href="https://github.com/WesterosCraftCode/ElectronLauncher/issues">submit an issue</a> and let us know what antivirus software you use. We\'ll contact them and try to straighten things out.',
|
||||||
@ -643,7 +653,7 @@ function dlAsync(login = true){
|
|||||||
DiscordWrapper.initRPC(distro.discord, serv.discord)
|
DiscordWrapper.initRPC(distro.discord, serv.discord)
|
||||||
hasRPC = true
|
hasRPC = true
|
||||||
proc.on('close', (code, signal) => {
|
proc.on('close', (code, signal) => {
|
||||||
console.log('Shutting down Discord Rich Presence..')
|
loggerLaunchSuite.log('Shutting down Discord Rich Presence..')
|
||||||
DiscordWrapper.shutdownRPC()
|
DiscordWrapper.shutdownRPC()
|
||||||
hasRPC = false
|
hasRPC = false
|
||||||
proc = null
|
proc = null
|
||||||
@ -652,7 +662,7 @@ function dlAsync(login = true){
|
|||||||
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
|
|
||||||
console.error('Error during launch', err)
|
loggerLaunchSuite.error('Error during launch', err)
|
||||||
setOverlayContent(
|
setOverlayContent(
|
||||||
'Error During Launch',
|
'Error During Launch',
|
||||||
'Please check the console for more details.',
|
'Please check the console for more details.',
|
||||||
@ -681,13 +691,13 @@ function dlAsync(login = true){
|
|||||||
serv = data.getServer(ConfigManager.getSelectedServer())
|
serv = data.getServer(ConfigManager.getSelectedServer())
|
||||||
aEx.send({task: 'execute', function: 'validateEverything', argsArr: [ConfigManager.getSelectedServer(), DistroManager.isDevMode()]})
|
aEx.send({task: 'execute', function: 'validateEverything', argsArr: [ConfigManager.getSelectedServer(), DistroManager.isDevMode()]})
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
console.log(err)
|
loggerLaunchSuite.log('Error while fetching a fresh copy of the distribution index.', err)
|
||||||
refreshDistributionIndex(false, (data) => {
|
refreshDistributionIndex(false, (data) => {
|
||||||
onDistroRefresh(data)
|
onDistroRefresh(data)
|
||||||
serv = data.getServer(ConfigManager.getSelectedServer())
|
serv = data.getServer(ConfigManager.getSelectedServer())
|
||||||
aEx.send({task: 'execute', function: 'validateEverything', argsArr: [ConfigManager.getSelectedServer(), DistroManager.isDevMode()]})
|
aEx.send({task: 'execute', function: 'validateEverything', argsArr: [ConfigManager.getSelectedServer(), DistroManager.isDevMode()]})
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
console.error('Unable to refresh distribution index.', err)
|
loggerLaunchSuite.error('Unable to refresh distribution index.', err)
|
||||||
if(DistroManager.getDistribution() == null){
|
if(DistroManager.getDistribution() == null){
|
||||||
setOverlayContent(
|
setOverlayContent(
|
||||||
'Fatal Error',
|
'Fatal Error',
|
||||||
|
@ -21,6 +21,8 @@ const loginForm = document.getElementById('loginForm')
|
|||||||
// Control variables.
|
// Control variables.
|
||||||
let lu = false, lp = false
|
let lu = false, lp = false
|
||||||
|
|
||||||
|
const loggerLogin = LoggerUtil('%c[Login]', 'color: #000668; font-weight: bold')
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show a login error.
|
* Show a login error.
|
||||||
@ -256,7 +258,6 @@ loginButton.addEventListener('click', () => {
|
|||||||
loginButton.innerHTML = loginButton.innerHTML.replace('LOGGING IN', 'SUCCESS')
|
loginButton.innerHTML = loginButton.innerHTML.replace('LOGGING IN', 'SUCCESS')
|
||||||
$('.circle-loader').toggleClass('load-complete')
|
$('.circle-loader').toggleClass('load-complete')
|
||||||
$('.checkmark').toggle()
|
$('.checkmark').toggle()
|
||||||
//console.log(value)
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
switchView(VIEWS.login, loginViewOnSuccess, 500, 500, () => {
|
switchView(VIEWS.login, loginViewOnSuccess, 500, 500, () => {
|
||||||
// Temporary workaround
|
// Temporary workaround
|
||||||
@ -284,7 +285,7 @@ loginButton.addEventListener('click', () => {
|
|||||||
toggleOverlay(false)
|
toggleOverlay(false)
|
||||||
})
|
})
|
||||||
toggleOverlay(true)
|
toggleOverlay(true)
|
||||||
console.log(err)
|
loggerLogin.log('Error while logging in.', err)
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
@ -57,7 +57,7 @@ function getCurrentView(){
|
|||||||
function showMainUI(data){
|
function showMainUI(data){
|
||||||
|
|
||||||
if(!isDev){
|
if(!isDev){
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Initializing..')
|
loggerAutoUpdater.log('Initializing..')
|
||||||
ipcRenderer.send('autoUpdateAction', 'initAutoUpdater', ConfigManager.getAllowPrerelease())
|
ipcRenderer.send('autoUpdateAction', 'initAutoUpdater', ConfigManager.getAllowPrerelease())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,13 +73,7 @@ function showMainUI(data){
|
|||||||
// If this is enabled in a development environment we'll get ratelimited.
|
// If this is enabled in a development environment we'll get ratelimited.
|
||||||
// The relaunch frequency is usually far too high.
|
// The relaunch frequency is usually far too high.
|
||||||
if(!isDev && isLoggedIn){
|
if(!isDev && isLoggedIn){
|
||||||
validateSelectedAccount().then((v) => {
|
validateSelectedAccount()
|
||||||
if(v){
|
|
||||||
console.log('%c[AuthManager]', 'color: #209b07; font-weight: bold', 'Account access token validated.')
|
|
||||||
} else {
|
|
||||||
console.log('%c[AuthManager]', 'color: #a02d2a; font-weight: bold', 'Account access token is invalid.')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ConfigManager.isFirstLaunch()){
|
if(ConfigManager.isFirstLaunch()){
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
const $ = require('jquery')
|
const $ = require('jquery')
|
||||||
const {ipcRenderer, remote, shell, webFrame} = require('electron')
|
const {ipcRenderer, remote, shell, webFrame} = require('electron')
|
||||||
const isDev = require('electron-is-dev')
|
const isDev = require('electron-is-dev')
|
||||||
|
const LoggerUtil = require('./assets/js/loggerutil')
|
||||||
|
|
||||||
|
const loggerUICore = LoggerUtil('%c[UICore]', 'color: #000668; font-weight: bold')
|
||||||
|
const loggerAutoUpdater = LoggerUtil('%c[AutoUpdater]', 'color: #000668; font-weight: bold')
|
||||||
|
const loggerAutoUpdaterSuccess = LoggerUtil('%c[AutoUpdater]', 'color: #209b07; font-weight: bold')
|
||||||
|
|
||||||
// Disable eval function.
|
// Disable eval function.
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
@ -33,15 +38,15 @@ if(!isDev){
|
|||||||
ipcRenderer.on('autoUpdateNotification', (event, arg, info) => {
|
ipcRenderer.on('autoUpdateNotification', (event, arg, info) => {
|
||||||
switch(arg){
|
switch(arg){
|
||||||
case 'checking-for-update':
|
case 'checking-for-update':
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Checking for update..')
|
loggerAutoUpdater.log('Checking for update..')
|
||||||
settingsUpdateButtonStatus('Checking for Updates..', true)
|
settingsUpdateButtonStatus('Checking for Updates..', true)
|
||||||
break
|
break
|
||||||
case 'update-available':
|
case 'update-available':
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'New update available', info.version)
|
loggerAutoUpdaterSuccess.log('New update available', info.version)
|
||||||
populateSettingsUpdateInformation(info)
|
populateSettingsUpdateInformation(info)
|
||||||
break
|
break
|
||||||
case 'update-downloaded':
|
case 'update-downloaded':
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Update ' + info.version + ' ready to be installed.')
|
loggerAutoUpdaterSuccess.log('Update ' + info.version + ' ready to be installed.')
|
||||||
settingsUpdateButtonStatus('Install Now', false, () => {
|
settingsUpdateButtonStatus('Install Now', false, () => {
|
||||||
if(!isDev){
|
if(!isDev){
|
||||||
ipcRenderer.send('autoUpdateAction', 'installUpdateNow')
|
ipcRenderer.send('autoUpdateAction', 'installUpdateNow')
|
||||||
@ -50,7 +55,7 @@ if(!isDev){
|
|||||||
showUpdateUI(info)
|
showUpdateUI(info)
|
||||||
break
|
break
|
||||||
case 'update-not-available':
|
case 'update-not-available':
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No new update found.')
|
loggerAutoUpdater.log('No new update found.')
|
||||||
settingsUpdateButtonStatus('Check for Updates')
|
settingsUpdateButtonStatus('Check for Updates')
|
||||||
break
|
break
|
||||||
case 'ready':
|
case 'ready':
|
||||||
@ -62,17 +67,17 @@ if(!isDev){
|
|||||||
case 'realerror':
|
case 'realerror':
|
||||||
if(info != null && info.code != null){
|
if(info != null && info.code != null){
|
||||||
if(info.code === 'ERR_UPDATER_INVALID_RELEASE_FEED'){
|
if(info.code === 'ERR_UPDATER_INVALID_RELEASE_FEED'){
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No suitable releases found.')
|
loggerAutoUpdater.log('No suitable releases found.')
|
||||||
} else if(info.code === 'ERR_XML_MISSED_ELEMENT'){
|
} else if(info.code === 'ERR_XML_MISSED_ELEMENT'){
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No releases found.')
|
loggerAutoUpdater.log('No releases found.')
|
||||||
} else {
|
} else {
|
||||||
console.error('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Error during update check..', info)
|
loggerAutoUpdater.error('Error during update check..', info)
|
||||||
console.debug('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Error Code:', info.code)
|
loggerAutoUpdater.debug('Error Code:', info.code)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Unknown argument', arg)
|
loggerAutoUpdater.log('Unknown argument', arg)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -115,12 +120,12 @@ function showUpdateUI(info){
|
|||||||
|
|
||||||
/* jQuery Example
|
/* jQuery Example
|
||||||
$(function(){
|
$(function(){
|
||||||
console.log('UICore Initialized');
|
loggerUICore.log('UICore Initialized');
|
||||||
})*/
|
})*/
|
||||||
|
|
||||||
document.addEventListener('readystatechange', function () {
|
document.addEventListener('readystatechange', function () {
|
||||||
if (document.readyState === 'interactive'){
|
if (document.readyState === 'interactive'){
|
||||||
console.log('UICore Initializing..')
|
loggerUICore.log('UICore Initializing..')
|
||||||
|
|
||||||
// Bind close button.
|
// Bind close button.
|
||||||
Array.from(document.getElementsByClassName('fCb')).map((val) => {
|
Array.from(document.getElementsByClassName('fCb')).map((val) => {
|
||||||
@ -183,7 +188,6 @@ document.addEventListener('readystatechange', function () {
|
|||||||
*/
|
*/
|
||||||
$(document).on('click', 'a[href^="http"]', function(event) {
|
$(document).on('click', 'a[href^="http"]', function(event) {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
//console.log(os.homedir())
|
|
||||||
shell.openExternal(this.href)
|
shell.openExternal(this.href)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user