From dcc005be346321a689b2a78ba4c51872b79bef9a Mon Sep 17 00:00:00 2001 From: Jeremy Daer Date: Mon, 8 Dec 2025 11:00:40 -0800 Subject: [PATCH] Add lazy error context for Rails error reporter (#2014) Register a middleware with Rails.error that adds identity_id and account_id from Current attributes. Only evaluated when an error is actually reported, avoiding the cost on successful requests. --- Gemfile.saas.lock | 2 +- config/initializers/error_context.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 config/initializers/error_context.rb diff --git a/Gemfile.saas.lock b/Gemfile.saas.lock index 0c8880b08..9100ff68a 100644 --- a/Gemfile.saas.lock +++ b/Gemfile.saas.lock @@ -21,7 +21,7 @@ GIT GIT remote: https://github.com/basecamp/fizzy-saas - revision: 3b30f3d56d8318bb9256469cb91c06a5a5c760a6 + revision: 43dbc896ce7b6a08194a92ddd1695d3f1ebf554b specs: fizzy-saas (0.1.0) audits1984 diff --git a/config/initializers/error_context.rb b/config/initializers/error_context.rb new file mode 100644 index 000000000..a1b207b6e --- /dev/null +++ b/config/initializers/error_context.rb @@ -0,0 +1,7 @@ +# Lazily add identity and account context to error reports. +# Only evaluated when an error is actually reported. +Rails.error.add_middleware ->(error, context:, **) do + context.merge \ + identity_id: Current.identity&.id, + account_id: Current.account&.external_account_id +end