-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow setting component and action through the context #671
Comments
I think we should think about/discuss a bit more as this as a team. My main concern is that Looping in @subzero10 @rabidpraxis — what do you think? |
@joshuap agreed with your concerns regarding namespacing. Perhaps adding a |
Before Rails 8 was released we used the following to explicitly set the component and action when calling
Rails.report
(to which, so far, only Honeybadger is subscribed):This worked perfectly, the component and action were being correctly rendered by the Honeybadger UI. This was especially useful for explicitly setting the component and action for our jobs (we cannot use the Sidekiq plugin for Honeybadger as we handle errors in a different way). Downside of course is that other error reporters, if we were going to use them, would probably choke on the payload not being an exception.
However, once Rails 8 was released this workaround stopped working. Reason being the addition of this line to
ActiveSupport::ErrorReporter
:https://github.com/rails/rails/blob/v8.0.1/activesupport/lib/active_support/error_reporter.rb#L212
This line breaks when the first argument passed in to
Rails.error.report
does not respond to thebacktrace
method. There are hacky solutions for this, but maybe it's better if it's possible to pass in the component and action through the context instead, and Honeybadger can retrieve it from the context? That would also be more compatible in the situation of other error reporters than Honeybadger subscribing.So something like:
What do you think?
The text was updated successfully, but these errors were encountered: