From 6c7b08e3d0d2ea29b9914d16c0cce4c552339340 Mon Sep 17 00:00:00 2001 From: Nicklas Gummesson Date: Thu, 29 Jan 2015 16:40:44 +0100 Subject: [PATCH 1/4] Only send errors to TrackJS if in production Load lib if token is given, but only send errors if application is loaded for production. Also removed unnecessary wrapper --- app/views/shared/_trackjs.html.erb | 7 ++++-- .../cartodb/new_common/track_js_errors.js | 13 ---------- .../cartodb/new_dashboard/entry.js | 5 ++-- .../new_common/track_js_errors.spec.js | 24 ------------------- 4 files changed, 8 insertions(+), 41 deletions(-) delete mode 100644 lib/assets/javascripts/cartodb/new_common/track_js_errors.js delete mode 100644 lib/assets/test/spec/cartodb/new_common/track_js_errors.spec.js diff --git a/app/views/shared/_trackjs.html.erb b/app/views/shared/_trackjs.html.erb index 9db3c2d441f3..341fd1f16770 100644 --- a/app/views/shared/_trackjs.html.erb +++ b/app/views/shared/_trackjs.html.erb @@ -1,3 +1,6 @@ -<% unless customer.blank? || Rails.env.development? %> +<% unless customer.blank? %> + -<% end %> \ No newline at end of file +<% end %> diff --git a/lib/assets/javascripts/cartodb/new_common/track_js_errors.js b/lib/assets/javascripts/cartodb/new_common/track_js_errors.js deleted file mode 100644 index 2402769fc181..000000000000 --- a/lib/assets/javascripts/cartodb/new_common/track_js_errors.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Track JS errors through the client-lib provided by http://trackjs.com/ - * The library is assumed to be loaded and set on the global namespace as window.trackJs for this to work. - * - * @param trackJs {Object} the trackJs.com - * @param username {String} - */ -module.exports = function(trackJs, username) { - trackJs.configure({ - userId: username, - trackAjaxFail: false - }); -}; diff --git a/lib/assets/javascripts/cartodb/new_dashboard/entry.js b/lib/assets/javascripts/cartodb/new_dashboard/entry.js index 098c117d1fff..4b3dc460c0e5 100644 --- a/lib/assets/javascripts/cartodb/new_dashboard/entry.js +++ b/lib/assets/javascripts/cartodb/new_dashboard/entry.js @@ -2,12 +2,13 @@ var Router = require('new_dashboard/router'); var $ = require('jquery'); var cdb = require('cartodb.js'); var MainView = require('new_dashboard/main_view'); -var trackJsErrors = require('new_common/track_js_errors'); var sendUsageToMixpanel = require('./send_usage_to_mixpanel'); var urls = require('new_common/urls_fn'); if (window.trackJs) { - trackJsErrors(window.trackJs, window.user_data.username); + window.trackJs.configure({ + userId: window.user_data.username + }); } /** diff --git a/lib/assets/test/spec/cartodb/new_common/track_js_errors.spec.js b/lib/assets/test/spec/cartodb/new_common/track_js_errors.spec.js deleted file mode 100644 index 9e1b6cbc0a28..000000000000 --- a/lib/assets/test/spec/cartodb/new_common/track_js_errors.spec.js +++ /dev/null @@ -1,24 +0,0 @@ -var trackJsErrors = require('new_common/track_js_errors'); - -describe('new_common/track_js_errors', function() { - describe('given trackJs lib and a username', function() { - beforeEach(function() { - this.trackJs = jasmine.createSpyObj('trackJs', ['configure']); - this.username = 'pepe'; - trackJsErrors(this.trackJs, this.username); - this.configureArgs = this.trackJs.configure.calls.argsFor(0)[0]; - }); - - it('should configure trackJs to log', function() { - expect(this.trackJs.configure).toHaveBeenCalled(); - }); - - it('should configured it to log the user Id as the username', function() { - expect(this.configureArgs.userId).toEqual(this.username); - }); - - it('should configured it to not log failing AJAX calls', function() { - expect(this.configureArgs.trackAjaxFail).toBeFalsy(); - }); - }); -}); From fd9db963a82a4fd3b5cef62d375a7523aa2ea35b Mon Sep 17 00:00:00 2001 From: Nicklas Gummesson Date: Thu, 19 Feb 2015 18:58:04 +0100 Subject: [PATCH 2/4] Fix trackJS for API keys entry bundle --- lib/assets/javascripts/cartodb/new_keys/entry.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/assets/javascripts/cartodb/new_keys/entry.js b/lib/assets/javascripts/cartodb/new_keys/entry.js index c3fda50c72c5..d7ddcad2aa1a 100644 --- a/lib/assets/javascripts/cartodb/new_keys/entry.js +++ b/lib/assets/javascripts/cartodb/new_keys/entry.js @@ -1,6 +1,5 @@ var $ = require('jquery'); var cdb = require('cartodb.js'); -var trackJsErrors = require('new_common/track_js_errors'); var HeaderView = require('new_common/views/dashboard_header_view'); var SupportView = require('new_common/support_view'); var HeaderViewModel = require('new_keys/header_view_model'); @@ -9,7 +8,9 @@ var urls = require('new_common/urls_fn'); var RegenerateKeysDialog = require('new_keys/regenerate_keys_dialog_view'); if (window.trackJs) { - trackJsErrors(window.trackJs, window.user_data.username); + window.trackJs.configure({ + userId: window.user_data.username + }); } /** From aca0fb3a11d1b09ab95f517b749dc7836eaade72 Mon Sep 17 00:00:00 2001 From: Nicklas Gummesson Date: Thu, 19 Feb 2015 19:08:51 +0100 Subject: [PATCH 3/4] Use config variable instead of Rails.env state --- app/helpers/application_helper.rb | 2 +- app/views/shared/_trackjs.html.erb | 2 +- config/app_config.yml.sample | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8ff43f2266f1..4652896123ee 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -156,7 +156,7 @@ def insert_google_analytics(track, custom_vars = {}) def insert_trackjs if not Cartodb.config[:trackjs].blank? and not Cartodb.config[:trackjs]['customer'].blank? - render(:partial => 'shared/trackjs', :locals => { customer: Cartodb.config[:trackjs]['customer'] }) + render(:partial => 'shared/trackjs', :locals => { customer: Cartodb.config[:trackjs]['customer'], enabled: Cartodb.config[:trackjs]['enabled'] }) end end diff --git a/app/views/shared/_trackjs.html.erb b/app/views/shared/_trackjs.html.erb index 341fd1f16770..1f75b1a27f7b 100644 --- a/app/views/shared/_trackjs.html.erb +++ b/app/views/shared/_trackjs.html.erb @@ -1,6 +1,6 @@ <% unless customer.blank? %> <% end %> diff --git a/config/app_config.yml.sample b/config/app_config.yml.sample index e702e8197e70..d39677988a4f 100644 --- a/config/app_config.yml.sample +++ b/config/app_config.yml.sample @@ -49,6 +49,7 @@ defaults: &defaults tumblr: api_key: '' trackjs: + enabled: false customer: '' common_data: protocol: 'https' From ccea03abd67a2f838128e8ebfff654e537d1c204 Mon Sep 17 00:00:00 2001 From: Nicklas Gummesson Date: Thu, 19 Feb 2015 19:13:50 +0100 Subject: [PATCH 4/4] Update NEWS --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index d44c0825ea97..cf74ddaa90e5 100644 --- a/NEWS.md +++ b/NEWS.md @@ -18,6 +18,7 @@ * Added new public pages [#2034](https://github.com/CartoDB/cartodb/pull/2142) * Added API keys and OAuth pages [#2142](https://github.com/CartoDB/cartodb/pull/2142) * Replace 404 error page +* Only send JS errors+stats in production [#1987](https://github.com/CartoDB/cartodb/pull/1987) Bugfixes: * When being in any configuration page remove the arrow from the breadcrumb [#2312](https://github.com/CartoDB/cartodb/pull/2312)