Telemetry: report uncaught errors
This commit is contained in:
@@ -95,9 +95,11 @@ function onState (err, _state) {
|
||||
// ...window visibility state.
|
||||
document.addEventListener('webkitvisibilitychange', onVisibilityChange)
|
||||
|
||||
sound.play('STARTUP')
|
||||
// Log uncaught JS errors
|
||||
window.addEventListener('error', (err) => telemetry.logUncaughtError('window', err.error), true)
|
||||
|
||||
// Done! Ideally we want to get here < 500ms after the user clicks the app
|
||||
sound.play('STARTUP')
|
||||
console.timeEnd('init')
|
||||
}
|
||||
|
||||
@@ -327,6 +329,9 @@ function dispatch (action, ...args) {
|
||||
if (action === 'setTitle') {
|
||||
state.window.title = args[0] /* title */
|
||||
}
|
||||
if (action === 'uncaughtError') {
|
||||
telemetry.logUncaughtError(args[0] /* process */, args[1] /* error */)
|
||||
}
|
||||
|
||||
// Update the virtual-dom, unless it's just a mouse move event
|
||||
if (action !== 'mediaMouseMoved' || showOrHidePlayerControls()) {
|
||||
@@ -481,6 +486,8 @@ function setupIpc () {
|
||||
ipcRenderer.on('wt-audio-metadata', (e, ...args) => torrentAudioMetadata(...args))
|
||||
ipcRenderer.on('wt-server-running', (e, ...args) => torrentServerRunning(...args))
|
||||
|
||||
ipcRenderer.on('wt-uncaught-error', (e, err) => telemetry.logUncaughtError('webtorrent', err))
|
||||
|
||||
ipcRenderer.send('ipcReady')
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,9 @@ function init () {
|
||||
|
||||
ipc.send('ipcReadyWebTorrent')
|
||||
|
||||
window.addEventListener('error', (err) =>
|
||||
ipc.send('wt-uncaught-error', {message: err.error.message, stack: err.error.stack}))
|
||||
|
||||
setInterval(updateTorrentProgress, 1000)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user