From e1d0fe27604bc9fd2245c53a5fa712dffe57c572 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Wed, 3 Feb 2021 10:57:44 -0600 Subject: [PATCH] Fix notify bug; bette crash dump subject --- admin/app/admin/subscription_cohorts.rb | 2 +- ruby/lib/jam_ruby/models/notification.rb | 2 +- web/app/controllers/api_users_controller.rb | 10 ++++++++-- websocket-gateway/lib/jam_websockets/server.rb | 8 +++++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/admin/app/admin/subscription_cohorts.rb b/admin/app/admin/subscription_cohorts.rb index d7e781740..462bca21c 100644 --- a/admin/app/admin/subscription_cohorts.rb +++ b/admin/app/admin/subscription_cohorts.rb @@ -1,7 +1,7 @@ class Spacer def self.spacer(val, row) - percentage = (val / row.total * 100).round(1).to_s + percentage = ((val * 100) / row.total.to_f).round(1).to_s ('%-5.5s' % percentage).gsub(' ', ' ') + '% - ' + val.to_s end end diff --git a/ruby/lib/jam_ruby/models/notification.rb b/ruby/lib/jam_ruby/models/notification.rb index 182d6ddb9..d7e8b0568 100644 --- a/ruby/lib/jam_ruby/models/notification.rb +++ b/ruby/lib/jam_ruby/models/notification.rb @@ -42,7 +42,7 @@ module JamRuby end def created_date - self.created_at.getutc.iso8601.to_s + self.created_at.nil? ? Time.now.getutc.iso8601.to_s : self.created_at.getutc.iso8601.to_s end def photo_url diff --git a/web/app/controllers/api_users_controller.rb b/web/app/controllers/api_users_controller.rb index b42d215d5..195512f87 100644 --- a/web/app/controllers/api_users_controller.rb +++ b/web/app/controllers/api_users_controller.rb @@ -662,8 +662,9 @@ class ApiUsersController < ApiController @dump.description = params[:description] @dump.fsize = params[:fsize] @dump.crash_context = params[:crash_context] - send_email = params[:send_email] - if send_email.nil? + if params.has_key?(:send_email) + send_email = params[:send_email] + else send_email = true end @@ -705,6 +706,11 @@ class ApiUsersController < ApiController context = "#{description.capitalize} Context:\n\n#{@dump.crash_context}\n" subject = "#{description.capitalize} - #{@dump.session_id}" + if description == 'crash' + # preserve old behavior for crash dumps; Peter has filters for this format + subject = "Crash for #{@dump.client_type} - #{user.email}, on #{crash_date}" + end + if user body = "Client #{description} for user #{user.email} (#{user.name})\n" body << "User admin url: #{user.admin_url}\n" diff --git a/websocket-gateway/lib/jam_websockets/server.rb b/websocket-gateway/lib/jam_websockets/server.rb index 8c47aaea7..9b2a1e206 100644 --- a/websocket-gateway/lib/jam_websockets/server.rb +++ b/websocket-gateway/lib/jam_websockets/server.rb @@ -43,7 +43,13 @@ module JamWebsockets puts "unhandled error #{e.backtrace}" @log.error "unhandled error #{e}" @log.error "unhandled error #{e.backtrace}" - #Bugsnag.notify(e) + # SHOULD WE JUST DIE HERE? This was seen in production, and the gateway stopped after this!!! + begin + Bugsnag.notify(e) + rescue => bugsnag_e + puts "unable to report to bugsnag #{bugsnag_e}" + @log.error "unable to report to bugsnag #{bugsnag_e}" + end } EventMachine.run do