diff --git a/app/scripts/lib/setupRaven.js b/app/scripts/lib/setupRaven.js index b69e08bae..b1b67f771 100644 --- a/app/scripts/lib/setupRaven.js +++ b/app/scripts/lib/setupRaven.js @@ -24,6 +24,8 @@ function setupRaven(opts) { transport: function(opts) { const report = opts.data try { + // handle error-like non-error exceptions + nonErrorException(report) // simplify certain complex error messages (e.g. Ethjs) simplifyErrorMessages(report) // modify report urls @@ -40,6 +42,14 @@ function setupRaven(opts) { return Raven } +function nonErrorException(report) { + // handle errors that lost their error-ness in serialization + if (report.message.includes('Non-Error exception captured with keys: message')) { + if (!(report.extra && report.extra.__serialized__)) return + report.message = `Non-Error Exception: ${report.extra.__serialized__.message}` + } +} + function simplifyErrorMessages(report) { if (report.exception && report.exception.values) { report.exception.values.forEach(item => {