used addEventListener instead of overriding window.onerror for global error handling (#2079)

main
Andrey Zhavoronkov 6 years ago committed by GitHub
parent 778b7f5227
commit 0d418666c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,6 @@
{ {
"name": "cvat-ui", "name": "cvat-ui",
"version": "1.8.2", "version": "1.8.3",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

@ -1,6 +1,6 @@
{ {
"name": "cvat-ui", "name": "cvat-ui",
"version": "1.8.2", "version": "1.8.3",
"description": "CVAT single-page application", "description": "CVAT single-page application",
"main": "src/index.tsx", "main": "src/index.tsx",
"scripts": { "scripts": {

@ -144,20 +144,17 @@ ReactDOM.render(
document.getElementById('root'), document.getElementById('root'),
); );
window.onerror = ( window.addEventListener('error', (errorEvent: ErrorEvent) => {
message: Event | string, if (errorEvent.filename
source?: string, && typeof (errorEvent.lineno) === 'number'
lineno?: number, && typeof (errorEvent.colno) === 'number'
colno?: number, && errorEvent.error) {
error?: Error,
) => {
if (typeof (message) === 'string' && source && typeof (lineno) === 'number' && (typeof (colno) === 'number') && error) {
const logPayload = { const logPayload = {
filename: source, filename: errorEvent.filename,
line: lineno, line: errorEvent.lineno,
message: error.message, message: errorEvent.error.message,
column: colno, column: errorEvent.colno,
stack: error.stack, stack: errorEvent.error.stack,
}; };
const store = getCVATStore(); const store = getCVATStore();
@ -171,4 +168,4 @@ window.onerror = (
logger.log(LogType.sendException, logPayload); logger.log(LogType.sendException, logPayload);
} }
} }
}; });

Loading…
Cancel
Save