From 1ec986ab252ccc0b52bc275372a719f49e79c1a9 Mon Sep 17 00:00:00 2001 From: Chris Lowis Date: Fri, 29 Dec 2023 20:51:46 +0000 Subject: [PATCH] Enable client-side exception monitoring with rollbar We've had a report (#120) of errors uploading tracks which look like they're being thrown from the client (likely from the direct upload javascript). To understand a bit more about what's going on this commit enables client side exception monitoring. I added the post_client_item access token from our rollbar dashboard[1] to the development and production credentials file. It's quite likely that these exceptions will be a bit noisy, but we can try to ignore ones we can't do anything about, or revisit having this enabled once we get to the bottom of what's happening with the track upload issue. [1] https://app.rollbar.com/a/gofreerange/p/jam/settings/access_tokens --- config/credentials/development.yml.enc | 2 +- config/credentials/production.yml.enc | 2 +- config/initializers/rollbar.rb | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config/credentials/development.yml.enc b/config/credentials/development.yml.enc index a1b5ad4c..4abe1adb 100644 --- a/config/credentials/development.yml.enc +++ b/config/credentials/development.yml.enc @@ -1 +1 @@ -raRujtSsvWkLTtX4JjQRHWZgxd60EkBHc71pTct9BBJoiemzkLOOtLpmDbwxwPTLgnKXNXVu34up2ANE/Tl1zNiSgXXbgiNOumshggGoZv4BkRUfx5LTDpWFA1yBi6DaKbNyxxaNJFs33hDVxlfbF0oV3zBdr+nYh+HquSKj9y95lkJbAhU5GQQ3FERpmTUsa47J9AhOX0UWd0wXBxEhM+D2j3gdLt7M464OdiZ+Nzq5vc9srIMHvg2M8AFUXUDlDCic/ZNiVKBhudXcNnIIoqiZeFonCEjX1d9bYrwUuZvnLeuZsPsj5gU8hQxEknyW75lB/nJbZtYpX/ZGXtyMNlA92DRzSb3cao0uVV+q3bQ4ySUtPRyH7fck7foXSURjopcDhn7GtsXnazk7DHbAzWVULiQhGXXLLxtXQKDi/yFa4WfPKkIBuAdgz4vmHt/U9D4gD0zipKrU2XkaWa5bBl+VSw7UWKCBLxB3WHapTJxsJR+9M9kYizQQOIpduR1khG+rOYD1DS/hhW3/dKKCMOHZfrp4ulhnoSJ4NDoM0pdLKeR8np8GdqKqx6ZYhgklsmUFwx/Ab9CoVrB2U3H8eQMsNZLsMHbBgWj8Ql4IOOxuk7NuBe1jxr9gw6KKV5uI8C0VVD4IvOXCmk2RdNGNh41KJ2Y7BD8/jjlp6Pw0OLuMUEO9cA+47whDg63VToIr284xQPoCu2OKHrLVXlWysibp6DJJ97TjTIAA3QlMRrVxMCcff0pWXnWYr7GEN+N4AKocKi8UnAaUXo8QPrZrsNI6Gev55EM1sSnH1K+h/Eb92EzX083GelyqUQ+K6J5JY2WPFFzQOCd5wfc9GFSL/KnD8f32tktgW0zlM9T8s7kCtTEga/8mjXigL5WKY1Q9Ij+GYWux25/5D8Fq6BVxFOhPhsh8z4s3KEQEyAe8oY5HRRDF--BjcjvMFvwJdAZ1+z--m0UfGQ+mBL3nWfx+WCf1qw== \ No newline at end of file +1odAhdmrn5gLpafDAKB+LkFAMTa6zMjrjibXWxaRM1XAdyVc7GDa+DIEexVg46tu04ipYVBXrmR4TH+8B8I9hNoAy+RwfmF3XPzCISXAC5pK6l9KQIAmq7QKbbnQMxr1+pYsHFbd8ZkvX04WqNw4vxBmZSAO8KGPGaOnoz32b61pP0a+AHi5hpCj8NylfyZKTbhD5HIMLKf//HVZ8zIdm7P8vjZa2LQeIVJnnF7iSp0nZHI6JVbATKOXiKh95W6KgQn+xe+Gel7jPvZJYIO4E+kvd/t27lLdorIwVmZt137iWicQoiBGJw654QbMDF2UQrd+KxjubsJXYHPjA7I9eiwJ9WZgCpHbmVxg94dSv6ZUk7yhXAJyyhX8Egpq1BFhJiNpXTy3nht/gZKnyEBcfbLSuSCCoSgiomIsIs4Kp2nqbvC45ehlVfyDgCIdTy++Ihmr6aujO2qa2mph2nVns2RgoaswMDEwFcbS7vorzkbasMRVnWg+42u6huhS5YtGumPMaLjRHYtyXYSwFUbaOlrOswQZE9QJcLXfh/G36C8roE9GfN0WXoTxQh/mNUSaOvngbiu6d0sM+bsPZoLcf/DiIM/YpJpZJsH9hyk2Gh8L+kO9EpDC6YTglpW8zZ6PoNTeRFk4VBSqaITBp4G51ixLYRhD8W6JI42G244KiRqEkkgo+033MKeO3/HQOXFyWDVjkff2peNdpEOpKEzhYW+BAs1HLLpB9QReoYW0W1F1av/jibjop6ZXM6Mgi9nsyytVwxNmIpD1gFOyhAGHddS7djANoZMV0A7OZEiBjigRoS1huHJ8kNr209hwo5MoSTUwXmAxVX9r1ZmBNqWZatU7oCmKpojnXnP2FxPyU8o1aULyEzbF61gEwySfYoOLzysnYm7l1Bm2cPBiu5uNfR/p3rdNbAFdY7Bdu2Uju/Ryupf5ceQR63TDmBEGg4MJthUrxiGIw1z/sKRbNjEdBrOpzoP5leP4B9cdr9ooZytDwn3PBHj5lIeJdiAg9PTiR6bVrm4=--G33R0Q2jKclLIoaX--8PfMJMj8Sf0z5XpwkxuUuQ== \ No newline at end of file diff --git a/config/credentials/production.yml.enc b/config/credentials/production.yml.enc index dddc0a3b..ed25d54e 100644 --- a/config/credentials/production.yml.enc +++ b/config/credentials/production.yml.enc @@ -1 +1 @@ -8eRbWXbkRHkSXHOHqYWlattAF0K/IWTpAKEbjPFQjRrFvWcM34xIzcpEvix9ktnfYCa+ON8a0UJLtxinzy0Aa1RrXbE5LJMhzRM2iw3C2Wd2ZmZHUY7mVP0K/OWkjXsB4/UdwRxrYAMaCYwrVGMCSkChKweH/KBM+lSpFz6PCGkYz6xE6qBpTjWF2G3VbmqU4iI79q0o4MrA/UohP8ZZ9r/HWVMrplozPFtblrzaAtm9K1oIFT+Sboy0OOz7V/LdylN2VlIcvzn+Fnd4uyU48wh9AUg+FbBRBY/yfxjWFNDnngRsNhACt9II5XHinolV5j5ip7w4s+KC1/au5RQT+HhQVINQXlEUXKXFieLouZiRIy2wE0dSRnYWCqkPX+Uqg70+G8kWKlu/JsmTgYhCQGS+m2fyBoWWToYDecfXkc8TX9UKjVZBrstDXPefOQWGEjS56DaUTFohM0DbsuvDm2UqBzao2hTk7uUxr7gNlRETAFj3QYHUQZqKHcq6uKymEvYvZoQSC0vyq+O/TZN21iQe//zCv6oVqf5HY3JknpsEhqhGq6VJrzBY9MJ4u79zjYTm6waJuKPsjO3Ep5CDdR8PgA2mSRne6iLGVMwcPbB7lWNKNGRJHzGvbu3HuDHX64+J0Z8Jo2fR9KN4MT1cTWEyjSmwM11E5HBYJbifPhw3v609L+hD3Vg/8Iy4LQzlU8Tg984OEyWUsFWpDGj7A9bb4cpYePJEmsJHoCfNYVR3mx7rtrMP/ukSHKiJoamqrcKK98CusQrucSPP3MJJnh4f8ctDF1i2BwNemhQf1vMM--S4/Bn4HV3HjT2wF0--9PVCYqyH0iJRDFUMFSM6dQ== \ No newline at end of file +0H5hXbBpSWBEHW5ZBDl7Qtnj17acy9xt6tlLVKXbWvdbjSWCqEbcXjCPrZraccOBnEjEDW2cfKPoqCutw5LFhlqhM3gBvkViYnoC3p7ePr/F9kyDiezyE9y9C01fPoSPq7HxTijd1lAFAQzJE5XBhfh4hPmMCuHmGD/b1JqSpy1EViDd/pnt6PyzLQHDZP31GBoTfDrF0osPsf8u6nmCAkBwbXAM4UBkniGfUujmKbbyxOcfDhneYV3fM8gX7zRjVs1CqPx/5fDEZKrOfUbe9OCHYBafMsaP9pgLO9AGDlhEKhI6jJc87BXhULO5RBZ7p9X03jJZuOPTOd8HM6v/gz7fBkqOdpVdO/L06jdWhYUYU68kBQw0+9/KXgYpVtk9Xr17tcvnINsQWcLSBfwxxzJ6qw+ALg1sz5YqYG72rSKobEV1r3g8VAOaidKoH7SlX2+/eV28HOtSbWWEIgw/1gFSv5gf8ng4KO4FVvh7eML9drv02iq2t9wE9rI8AWjIxR1c9At+wo9Wve3ZoLcSssKunHxk90e6VGEpIXVjDJ/QB3K76OgytXhOHeAgwbIsj0iRPcqpTaV833sqCv9UcBpYlsguFzoDvz9x5husU5afPWUj341XfmX7BP8zTprFrpEKekhQ6STn6+VhYtAQpaQ9zL9rRlR1/tT5OREr8zwRKZz43a+EsMi4CINfcUXSZuwguFDQrmDW0wwTzJHQHfkQ+rgsNNY5iycD/jkuscVwSK7R2QBH0vxUjApnMbB2pYd+g/S5KHp288LsuZiFTxP7HpQu5WYYY7SuEY0M0IeqZBWnxfRk5QJfjcfiGS5YU4A/M3dK5eWHcjrMoVLH5kJ0qKNEsqA1VmnBenFZuh8DfatpSh/rbW5fZkNLHm+zNfw=--WOVjw5aqyCpZTDTc--N5HzXnQ8rUxsv+JYV8fZyg== \ No newline at end of file diff --git a/config/initializers/rollbar.rb b/config/initializers/rollbar.rb index 26221807..d5926b9f 100644 --- a/config/initializers/rollbar.rb +++ b/config/initializers/rollbar.rb @@ -7,6 +7,14 @@ config.access_token = Rails.application.credentials.dig(:rollbar, :access_token) config.enabled = Rails.env.production? + config.js_enabled = Rails.env.production? + config.js_options = { + accessToken: Rails.application.credentials.dig(:rollbar, :post_client_item_access_token), + captureUncaught: true, + payload: { + environment: Rails.env + } + } # By default, Rollbar will try to call the `current_user` controller method # to fetch the logged-in user object, and then call that object's `id`