add doNotReportErrors

This commit is contained in:
AAGaming
2024-06-14 20:20:15 -04:00
parent 84577c8708
commit 61ad88db77
+3 -1
View File
@@ -13,6 +13,7 @@ declare global {
class ErrorBoundaryHook extends Logger { class ErrorBoundaryHook extends Logger {
private errorBoundaryPatch?: Patch; private errorBoundaryPatch?: Patch;
private errorCheckPatch?: Patch; private errorCheckPatch?: Patch;
public doNotReportErrors: boolean = false;
constructor() { constructor() {
super('ErrorBoundaryHook'); super('ErrorBoundaryHook');
@@ -48,7 +49,7 @@ class ErrorBoundaryHook extends Logger {
const react15069WorkaroundRegex = / at .+\.componentDidCatch\..+\.callback /; const react15069WorkaroundRegex = / at .+\.componentDidCatch\..+\.callback /;
this.errorCheckPatch = replacePatch(Object.getPrototypeOf(errorReportingStore), 'BIsBlacklisted', (args: any[]) => { this.errorCheckPatch = replacePatch(Object.getPrototypeOf(errorReportingStore), 'BIsBlacklisted', (args: any[]) => {
const [errorSource, wasPlugin, shouldReport] = getLikelyErrorSourceFromValveError(args[0]); const [errorSource, wasPlugin, shouldReport] = getLikelyErrorSourceFromValveError(args[0]);
this.debug('Caught an error', args, { errorSource, wasPlugin, shouldReport }); this.debug('Caught an error', args, { errorSource, wasPlugin, shouldReport, skipAllReporting: this.doNotReportErrors });
// react#15069 workaround. this took 2 hours to figure out. // react#15069 workaround. this took 2 hours to figure out.
if ( if (
args[0]?.message?.[3]?.[0] && args[0]?.message?.[3]?.[0] &&
@@ -58,6 +59,7 @@ class ErrorBoundaryHook extends Logger {
this.debug('ignoring early report caused by react#15069'); this.debug('ignoring early report caused by react#15069');
return true; return true;
} }
if (this.doNotReportErrors) return true;
return shouldReport ? callOriginal : true; return shouldReport ? callOriginal : true;
}); });