Skip to content

Commit 08daebc

Browse files
committed
Added an overlay for non 0 exit codes.
1 parent 3d585e3 commit 08daebc

File tree

3 files changed

+32
-7
lines changed

3 files changed

+32
-7
lines changed

app/assets/js/processbuilder.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const path = require('path')
1010
const remote = require('@electron/remote')
1111
const win = remote.getCurrentWindow()
1212

13-
const ConfigManager = require('./configmanager')
13+
const ConfigManager = require('./configmanager')
1414

1515
const logger = LoggerUtil.getLogger('ProcessBuilder')
1616

@@ -100,6 +100,21 @@ class ProcessBuilder {
100100
})
101101
child.on('close', (code, signal) => {
102102
logger.info('Exited with code', code)
103+
if(code != 0){
104+
setOverlayContent(
105+
Lang.queryJS('processbuilder.exit.exitErrorHeader'),
106+
Lang.queryJS('processbuilder.exit.message') + code,
107+
Lang.queryJS('processbuilder.exit.copyCode')
108+
)
109+
setOverlayHandler(() => {
110+
copy(Lang.queryJS('processbuilder.exit.copyCodeText') + code)
111+
toggleOverlay(false)
112+
})
113+
setDismissHandler(() => {
114+
toggleOverlay(false)
115+
})
116+
toggleOverlay(true, true)
117+
}
103118
fs.remove(tempNativePath, (err) => {
104119
if(err){
105120
logger.warn('Error while deleting temp dir', err)

app/assets/js/scripts/uicore.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,20 @@
55
* modules, excluding dependencies.
66
*/
77
// Requirements
8-
const $ = require('jquery')
9-
const {ipcRenderer, shell, webFrame} = require('electron')
10-
const remote = require('@electron/remote')
11-
const isDev = require('./assets/js/isdev')
12-
const { LoggerUtil } = require('helios-core')
13-
const Lang = require('./assets/js/langloader')
8+
const $ = require('jquery')
9+
const {ipcRenderer, shell, webFrame, clipboard} = require('electron')
10+
const remote = require('@electron/remote')
11+
const isDev = require('./assets/js/isdev')
12+
const { LoggerUtil } = require('helios-core')
13+
const Lang = require('./assets/js/langloader')
1414

1515
const loggerUICore = LoggerUtil.getLogger('UICore')
1616
const loggerAutoUpdater = LoggerUtil.getLogger('AutoUpdater')
1717

18+
function copy(value) {
19+
clipboard.writeText(value, 'selection')
20+
}
21+
1822
// Log deprecation and process warnings.
1923
process.traceProcessWarnings = true
2024
process.traceDeprecation = true

app/assets/lang/en_US.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,12 @@ joined = "Exploring the Realm!"
219219
[js.overlay]
220220
dismiss = "Dismiss"
221221

222+
[js.processbuilder.exit]
223+
exitErrorHeader = "Game exited with an error code"
224+
message = "The game exited abnormally with the exit code: "
225+
copyCode = "Copy exit code"
226+
copyCodeText = "Minecraft exit code "
227+
222228
[js.settings.fileSelectors]
223229
executables = "Executables"
224230
allFiles = "All Files"

0 commit comments

Comments
 (0)