summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-06-15 08:00:53 -0400
committerJoramWilander <jwawilander@gmail.com>2015-06-15 08:00:53 -0400
commit69dbc7e5cbd1180334b7ea39dc423b31d5655f40 (patch)
tree8cde33a884d06ca358949717bd6f49610d35c17c /web
parentc94883e0dfc0c7cbcf86a78f9134d1e3283a07cd (diff)
downloadchat-69dbc7e5cbd1180334b7ea39dc423b31d5655f40.tar.gz
chat-69dbc7e5cbd1180334b7ea39dc423b31d5655f40.tar.bz2
chat-69dbc7e5cbd1180334b7ea39dc423b31d5655f40.zip
fixes mm-1223 gracefully handle missing analytics configs
Diffstat (limited to 'web')
-rw-r--r--web/react/utils/client.jsx6
-rw-r--r--web/templates/head.html33
2 files changed, 24 insertions, 15 deletions
diff --git a/web/react/utils/client.jsx b/web/react/utils/client.jsx
index b83ee22e7..701d3d25b 100644
--- a/web/react/utils/client.jsx
+++ b/web/react/utils/client.jsx
@@ -4,16 +4,16 @@
module.exports.track = function(category, action, label, prop, val) {
global.window.snowplow('trackStructEvent', category, action, label, prop, val);
- if (global.window.analytics != null) global.window.analytics.track(action, {category: category, label: label, property: prop, value: val});
+ global.window.analytics.track(action, {category: category, label: label, property: prop, value: val});
};
module.exports.trackPage = function() {
global.window.snowplow('trackPageView');
- if (global.window.analytics != null) global.window.analytics.page();
+ global.window.analytics.page();
};
function handleError(method_name, xhr, status, err) {
- var _LTracker = global.window._LTracker || [];
+ var _LTracker = global.window._LTracker;
var e = null;
try {
diff --git a/web/templates/head.html b/web/templates/head.html
index 5fd3ee104..5eb7a7333 100644
--- a/web/templates/head.html
+++ b/web/templates/head.html
@@ -36,6 +36,7 @@
window._LTracker = _LTracker;
_LTracker.push({'logglyKey': config.LogglyWriteKey, 'sendConsoleErrors' : config.LogglyConsoleErrors });
} else {
+ window._LTracker = [];
console.warn("config.js missing LogglyWriteKey, Loggly analytics is not reporting");
}
</script>
@@ -58,26 +59,34 @@
analytics.page();
}}();
} else {
+ analytics = {};
+ analytics.page = function(){};
+ analytics.track = function(){};
console.warn("config.js missing SegmentWriteKey, SegmentIO analytics is not tracking");
}
</script>
<!-- Snowplow starts plowing -->
<script type="text/javascript">
- ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
- p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
- };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
- n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d1fc8wv8zag5ca.cloudfront.net/2.4.2/sp.js","snowplow"));
+ if ('{{ .Props.AnalyticsUrl }}'.trim() !== '') {
+ ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
+ p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
+ };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
+ n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d1fc8wv8zag5ca.cloudfront.net/2.4.2/sp.js","snowplow"));
- window.snowplow('newTracker', 'cf', '{{ .Props.AnalyticsUrl }}', {
- appId: '{{ .SiteName }}'
- });
+ window.snowplow('newTracker', 'cf', '{{ .Props.AnalyticsUrl }}', {
+ appId: '{{ .SiteName }}'
+ });
- var user = window.UserStore.getCurrentUser(true);
- if (user) {
- window.snowplow('setUserId', user.id);
- }
+ var user = window.UserStore.getCurrentUser(true);
+ if (user) {
+ window.snowplow('setUserId', user.id);
+ }
- window.snowplow('trackPageView');
+ window.snowplow('trackPageView');
+ } else {
+ window.snowplow = function(){};
+ console.warn("config.json missing AnalyticsUrl, Snowplow analytics is not tracking");
+ }
</script>
<!-- Snowplow stops plowing -->
</head>