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)
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 9db3c2d441f3..1f75b1a27f7b 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/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'
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/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
+ });
}
/**
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();
- });
- });
-});