From 67eac2f1c99d80ea942aac815d63741c69aab454 Mon Sep 17 00:00:00 2001 From: Graham McIntie Date: Fri, 13 Feb 2026 19:44:51 -0600 Subject: [PATCH] fix: prevent cascading crash in error email handler when SES not configured --- lib/towerops/honeybadger_notice_filter.ex | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/towerops/honeybadger_notice_filter.ex b/lib/towerops/honeybadger_notice_filter.ex index dfeb6083..7bcd4ea5 100644 --- a/lib/towerops/honeybadger_notice_filter.ex +++ b/lib/towerops/honeybadger_notice_filter.ex @@ -49,12 +49,18 @@ defmodule Towerops.HoneybadgerNoticeFilter do |> subject(subject) |> text_body(body) - case Mailer.deliver(email) do - {:ok, _} -> - :ok + try do + case Mailer.deliver(email) do + {:ok, _} -> + :ok - {:error, reason} -> - Logger.error("Failed to send Honeybadger error email: #{inspect(reason)}") + {:error, reason} -> + Logger.warning("Failed to send error email: #{inspect(reason)}") + :error + end + rescue + e -> + Logger.warning("Error email delivery crashed: #{Exception.message(e)}") :error end end