From 3edbf9cfea4f6bdb042d6a571a78a54a189f9d32 Mon Sep 17 00:00:00 2001 From: Ruediger Kurz Date: Sun, 17 Sep 2017 00:35:04 +0200 Subject: [PATCH] Fixing: [BUG] If the analytics setting option 'PiwikAdditionalTrackers' is whitespace only loading, loading Piwik tracker fails #8166 --- .../rocketchat-analytics/client/loadScript.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/rocketchat-analytics/client/loadScript.js b/packages/rocketchat-analytics/client/loadScript.js index d09d67f7277..76db71ee1b5 100644 --- a/packages/rocketchat-analytics/client/loadScript.js +++ b/packages/rocketchat-analytics/client/loadScript.js @@ -38,10 +38,18 @@ Template.body.onRendered(() => { window._paq.push(['setDomains', domains]); } (() => { - const addTrackers = JSON.parse(piwikAdditionalTracker); - for (let i = 0; i < addTrackers.length; i++) { - const tracker = addTrackers[i]; - window._paq.push(['addTracker', `${ tracker['trackerURL'] }piwik.php`, tracker['siteId']]); + try { + if (/\S/.test(piwikAdditionalTracker)) { + // piwikAdditionalTracker is not empty or whitespace only + const addTrackers = JSON.parse(piwikAdditionalTracker); + for (let i = 0; i < addTrackers.length; i++) { + const tracker = addTrackers[i]; + window._paq.push(['addTracker', `${ tracker['trackerURL'] }piwik.php`, tracker['siteId']]); + } + } + } catch(e) { + // parsing JSON faild + console.log('Error while parsing JSON value of "piwikAdditionalTracker": ', e); } window._paq.push(['setTrackerUrl', `${ piwikUrl }piwik.php`]); window._paq.push(['setSiteId', Number.parseInt(piwikSiteId)]);