From 29d1e1da1728b2d9901ed5ee1902012372af0df9 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 29 Jan 2016 18:43:26 +0400 Subject: [PATCH] make sure we do not flood raygun with errors --- plugins/c9.ide.errorhandler/raygun.js | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/plugins/c9.ide.errorhandler/raygun.js b/plugins/c9.ide.errorhandler/raygun.js index 0e1ee90e..ec401969 100644 --- a/plugins/c9.ide.errorhandler/raygun.js +++ b/plugins/c9.ide.errorhandler/raygun.js @@ -1419,12 +1419,13 @@ window.TraceKit = TraceKit; } var blackListedErrors = { - 'Error with empty message': {}, - 'Script error.': {}, - 'DealPly is not defined': { factor: 10e5 }, - "Cannot read property 'style' of null": { factor: 10e3 }, - "Project with id '' does not exist": { factor: 10e2 }, - "Workspace not found": { factor: 10e2 }, + count: 0, + '#Error with empty message': {}, + '#Script error.': {}, + '#DealPly is not defined': { factor: 10e5 }, + "#Cannot read property 'style' of null": { factor: 10e3 }, + "#Project with id '' does not exist": { factor: 10e2 }, + "#Workspace not found": { factor: 10e2 }, }; var groupedErrors = [{ regex: /^((?:Project|User) with id ')(\d+)(' does not exist)/i, @@ -1511,13 +1512,16 @@ window.TraceKit = TraceKit; } }); - if (blackListedErrors.hasOwnProperty(message)) { - var count = (blackListedErrors[message].count || 0) + 1; - blackListedErrors[message].count = count; - if (count % (blackListedErrors[message].factor || 10) !== 1) { + var blackListEntry = blackListedErrors["#" + message]; + if (blackListEntry) { + var count = (blackListEntry.count || 0) + 1; + blackListEntry.count = count; + if (count % (blackListEntry.factor || 10) !== 1) { return; } - finalCustomData.$blackList = blackListedErrors[message]; + finalCustomData.$blackList = blackListEntry; + } else if (blackListedErrors.count < 10000) { + blackListedErrors["#" + message] = {}; } var payload = {