Really ignore ResizeObserver loop errors

[common]
pull/1877/head
Qstick 3 years ago
parent c3c8cb4660
commit 99a7540fe4

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

Loading…
Cancel
Save