| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…led errors Handled-error reports were Honeybadger-only (~80 Honeybadger.notify call sites), so they never appear in Sentry. Replace them with one API, Observability::Errors.report, that forwards to Honeybadger verbatim and mirrors to Sentry, and works in non-Rails processes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Handled errors were reported with Honeybadger.notify at ~80 call sites, so they never reach Sentry; this PR replaces them with one API, Observability::Errors.report, which forwards to Honeybadger verbatim and mirrors to Sentry, leaving each vendor with exactly two ingestion paths.
flowchart LR U[Unhandled exception] --> HM[Honeybadger middleware] & SM[sentry-rails middleware] C["Handled rescue: Observability::Errors.report(...)"] --> HB["Honeybadger.notify (args verbatim)"] & S["Sentry capture_exception / capture_message"]Call sites change shape only in the method name; all Honeybadger-specific options pass through unchanged:
observability/errors.rb is now requirable without Rails, so the 13 call sites in root lib/ (DCDO adapters, buffer, image moderation, etc.) use the same API as dashboard code. 79 of 80 Honeybadger.notify sites are converted; the one skip is notify_cronjob_error's internal call, which reports to a different Honeybadger project. The 7 previously Sentry-only Observability::Errors.capture_* sites migrate to report and therefore now also report to Honeybadger.
Links
Testing story
Deployment notes
Privacy and security
Context hashes previously sent only to Honeybadger are now mirrored to Sentry as extra data. Sentry remains configured with send_default_pii = false; no new data is collected, but existing report contexts gain a second destination.
🤖 Generated with Claude Code