1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-11 20:12:41 +02:00

Really ignore ResizeObserver loop errors

(cherry picked from commit 99a7540fe4dc5160f6487cfe810e99166ee4582e)
This commit is contained in:
Qstick 2021-01-05 22:10:25 -05:00
parent 5f32627bfb
commit 9fce6b1026

View File

@ -3,14 +3,26 @@ import * as Integrations from '@sentry/integrations';
import _ from 'lodash'; import _ from 'lodash';
import parseUrl from 'Utilities/String/parseUrl'; import parseUrl from 'Utilities/String/parseUrl';
const IgnoreErrors = [
// Innocuous browser errors
/ResizeObserver loop limit exceeded/,
/ResizeObserver loop completed with undelivered notifications/
];
function cleanseUrl(url) { function cleanseUrl(url) {
const properties = parseUrl(url); const properties = parseUrl(url);
return `${properties.pathname}${properties.search}`; return `${properties.pathname}${properties.search}`;
} }
function cleanseData(data) { function shouldIgnoreException(s) {
const result = _.cloneDeep(data); return s && IgnoreErrors.find((pattern) => pattern.test(s));
}
function cleanseData(event, hint) {
const result = _.cloneDeep(event);
const error = hint && hint.originalException;
result.transaction = cleanseUrl(result.transaction); result.transaction = cleanseUrl(result.transaction);
@ -26,6 +38,14 @@ function cleanseData(data) {
}); });
} }
if (
error &&
error.message &&
shouldIgnoreException(error.message)
) {
return null;
}
result.request.url = cleanseUrl(result.request.url); result.request.url = cleanseUrl(result.request.url);
return result; return result;
@ -88,7 +108,6 @@ export default function createSentryMiddleware() {
environment: branch, environment: branch,
release, release,
sendDefaultPii: true, sendDefaultPii: true,
ignoreErrors: ['ResizeObserver loop limit exceeded'],
beforeSend: cleanseData, beforeSend: cleanseData,
integrations: [ integrations: [
new Integrations.RewriteFrames({ iteratee: stripUrlBase }), new Integrations.RewriteFrames({ iteratee: stripUrlBase }),