Fix Bugsnag call to notify

Make sure we add metadata as expected:
https://docs.bugsnag.com/platforms/ruby/rails/reporting-handled-errors/#add_metadata
This commit is contained in:
Gaetan Craig-Riou
2024-11-06 13:58:34 +11:00
parent 9afd545897
commit eb66244b74
9 changed files with 19 additions and 21 deletions

View File

@@ -51,7 +51,7 @@ module OrderCompletion
def order_invalid!
Bugsnag.notify("Notice: invalid order loaded during checkout") do |payload|
payload.add_metadata :order, @order
payload.add_metadata :order, :order, @order
end
flash[:error] = t('checkout.order_not_loaded')

View File

@@ -21,7 +21,7 @@ module OrderStockCheck
return unless current_order_cycle&.closed?
Bugsnag.notify("Notice: order cycle closed during checkout completion") do |payload|
payload.add_metadata :order, current_order
payload.add_metadata :order, :order, current_order
end
current_order.empty!
current_order.set_order_cycle! nil

View File

@@ -7,7 +7,7 @@ class ErrorsController < ApplicationController
Bugsnag.notify("404") do |event|
event.severity = "info"
event.add_metadata(:request, request.env)
event.add_metadata(:request, :request, request.env)
end
render status: :not_found, formats: :html
end

View File

@@ -214,10 +214,10 @@ module Spree
def notify_bugsnag(error, product, variant)
Bugsnag.notify(error) do |report|
report.add_metadata(:product, product.attributes)
report.add_metadata(:product_error, product.errors.first) unless product.valid?
report.add_metadata(:variant, variant.attributes)
report.add_metadata(:variant_error, variant.errors.first) unless variant.valid?
report.add_metadata(:product,
{ product: product.attributes, variant: variant.attributes })
report.add_metadata(:product, :product_error, product.errors.first) unless product.valid?
report.add_metadata(:product, :variant_error, variant.errors.first) unless variant.valid?
end
end

View File

@@ -20,7 +20,7 @@ class BackorderJob < ApplicationJob
# Errors here shouldn't affect the checkout. So let's report them
# separately:
Bugsnag.notify(e) do |payload|
payload.add_metadata(:order, order)
payload.add_metadata(:order, :order, order)
end
end

View File

@@ -17,7 +17,7 @@ class StockSyncJob < ApplicationJob
# Errors here shouldn't affect the shopping. So let's report them
# separately:
Bugsnag.notify(e) do |payload|
payload.add_metadata(:order, order)
payload.add_metadata(:order, :order, order)
end
end
@@ -30,7 +30,7 @@ class StockSyncJob < ApplicationJob
# Errors here shouldn't affect the shopping. So let's report them
# separately:
Bugsnag.notify(e) do |payload|
payload.add_metadata(:order, order)
payload.add_metadata(:order, :order, order)
end
end

View File

@@ -56,7 +56,7 @@ class SubscriptionConfirmJob < ApplicationJob
send_failed_payment_email(order)
else
Bugsnag.notify(e) do |payload|
payload.add_metadata :order, order
payload.add_metadata :order, :order, order
end
send_failed_payment_email(order, e.message)
end
@@ -109,8 +109,7 @@ class SubscriptionConfirmJob < ApplicationJob
SubscriptionMailer.failed_payment_email(order).deliver_now
rescue StandardError => e
Bugsnag.notify(e) do |payload|
payload.add_metadata :order, order
payload.add_metadata :error_message, error_message
payload.add_metadata :subscription_data, { order:, error_message: }
end
end
end

View File

@@ -25,7 +25,7 @@ class PlaceProxyOrder
rescue StandardError => e
summarizer.record_and_log_error(:processing, order, e.message)
Bugsnag.notify(e) do |payload|
payload.add_metadata :order, order
payload.add_metadata :order, :order, order
end
end
@@ -57,8 +57,7 @@ class PlaceProxyOrder
true
rescue StandardError => e
Bugsnag.notify(e) do |payload|
payload.add_metadata :subscription, subscription
payload.add_metadata :proxy_order, proxy_order
payload.add_metadata(:proxy_order, { subscription:, proxy_order: })
end
false
end

View File

@@ -146,11 +146,11 @@ module Sets
def notify_bugsnag(error, product, variant, variant_attributes)
Bugsnag.notify(error) do |report|
report.add_metadata(:product, product.attributes)
report.add_metadata(:product_error, product.errors.first) unless product.valid?
report.add_metadata(:variant_attributes, variant_attributes)
report.add_metadata(:variant, variant.attributes)
report.add_metadata(:variant_error, variant.errors.first) unless variant.valid?
report.add_metadata( :product_set,
{ product: product.attributes, variant_attributes:,
variant: variant.attributes } )
report.add_metadata(:product_set, :product_error, product.errors.first) if !product.valid?
report.add_metadata(:product_set, :variant_error, variant.errors.first) if !variant.valid?
end
end
end