mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-07-05 18:48:31 +00:00
Rewrite stack traces for Sentry to include the proper, static path to the current build to ensure that the correct source map is read by Sentry for displaying the exception.
This commit is contained in:
parent
0331799242
commit
547f50312e
3 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
<div class="list-header">4.0.0-beta2.18.2<span>@a1a7fb774d62948bacc5</span> <time datetime="2018-04-16">(2018-04-16)</time></div>
|
||||||
|
<ul class="chat-menu-content menu-side-padding">
|
||||||
|
<li>Fixed: Rewrite stacktraces for automatic error reporting to use the permanent URL for the current FrankerFaceZ build.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<div class="list-header">4.0.0-beta2.18.1<span>@988ba86433ce4bfd636d</span> <time datetime="2018-04-15">(2018-04-15)</time></div>
|
<div class="list-header">4.0.0-beta2.18.1<span>@988ba86433ce4bfd636d</span> <time datetime="2018-04-15">(2018-04-15)</time></div>
|
||||||
<ul class="chat-menu-content menu-side-padding">
|
<ul class="chat-menu-content menu-side-padding">
|
||||||
<li>Changed: Add another filter for what sort of error logs we don't want from Apollo.</li>
|
<li>Changed: Add another filter for what sort of error logs we don't want from Apollo.</li>
|
||||||
|
|
|
@ -100,7 +100,7 @@ class FrankerFaceZ extends Module {
|
||||||
FrankerFaceZ.Logger = Logger;
|
FrankerFaceZ.Logger = Logger;
|
||||||
|
|
||||||
const VER = FrankerFaceZ.version_info = {
|
const VER = FrankerFaceZ.version_info = {
|
||||||
major: 4, minor: 0, revision: 0, extra: '-beta2.18.1',
|
major: 4, minor: 0, revision: 0, extra: '-beta2.18.2',
|
||||||
build: __webpack_hash__,
|
build: __webpack_hash__,
|
||||||
toString: () =>
|
toString: () =>
|
||||||
`${VER.major}.${VER.minor}.${VER.revision}${VER.extra || ''}${DEBUG ? '-dev' : ''}`
|
`${VER.major}.${VER.minor}.${VER.revision}${VER.extra || ''}${DEBUG ? '-dev' : ''}`
|
||||||
|
|
18
src/raven.js
18
src/raven.js
|
@ -12,6 +12,8 @@ import Module from 'utilities/module';
|
||||||
|
|
||||||
import Raven from 'raven-js';
|
import Raven from 'raven-js';
|
||||||
|
|
||||||
|
const AVALON_REG = /\/(?:script|static)\/((?:babel\/)?avalon)(\.js)(\?|#|$)/;
|
||||||
|
|
||||||
const BAD_URLS = [
|
const BAD_URLS = [
|
||||||
'hls.ttvnw.net',
|
'hls.ttvnw.net',
|
||||||
'trowel.twitch.tv',
|
'trowel.twitch.tv',
|
||||||
|
@ -193,6 +195,9 @@ export default class RavenLogger extends Module {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( data.exception && Array.isArray(data.exception.values) )
|
||||||
|
data.exception.values = this.rewriteStack(data.exception.values, data);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}).install();
|
}).install();
|
||||||
|
@ -203,6 +208,19 @@ export default class RavenLogger extends Module {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rewriteStack(errors) { // eslint-disable-line class-methods-use-this
|
||||||
|
for(const err of errors) {
|
||||||
|
if ( ! err || ! err.stacktrace || ! err.stacktrace.frames )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
for(const frame of err.stacktrace.frames)
|
||||||
|
frame.filename = frame.filename.replace(AVALON_REG, `/static/$1.${__webpack_hash__}$2$3`)
|
||||||
|
}
|
||||||
|
|
||||||
|
return errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
buildExtra() {
|
buildExtra() {
|
||||||
const modules = {},
|
const modules = {},
|
||||||
experiments = {},
|
experiments = {},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue