From 1ffd08f2db845190e8f838ed6ebc10febed011c4 Mon Sep 17 00:00:00 2001 From: Jamil Date: Mon, 10 Jul 2023 15:00:29 -0700 Subject: [PATCH] Move NoopAdapter to Domain app (#1756) Workaround for this: https://github.com/elixir-lang/elixir/issues/12777 --- .../lib/web => domain/lib/domain}/mailer/noop_adapter.ex | 6 +++++- elixir/apps/domain/mix.exs | 6 ++++++ elixir/config/config.exs | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) rename elixir/apps/{web/lib/web => domain/lib/domain}/mailer/noop_adapter.ex (61%) diff --git a/elixir/apps/web/lib/web/mailer/noop_adapter.ex b/elixir/apps/domain/lib/domain/mailer/noop_adapter.ex similarity index 61% rename from elixir/apps/web/lib/web/mailer/noop_adapter.ex rename to elixir/apps/domain/lib/domain/mailer/noop_adapter.ex index 70c1342b2..8f592ffd3 100644 --- a/elixir/apps/web/lib/web/mailer/noop_adapter.ex +++ b/elixir/apps/domain/lib/domain/mailer/noop_adapter.ex @@ -1,8 +1,12 @@ -defmodule Web.Mailer.NoopAdapter do +defmodule Domain.Mailer.NoopAdapter do @moduledoc """ When mailer is not configure, use noop adapter as a drop-in replacement so that we don't have to add conditional logic to every single call to `Web.Mailer.deliver/2`. + + # XXX: Having this module in the Domain app is a workaround for the following issue: + # https://github.com/elixir-lang/elixir/issues/12777 + # Move this module back to the Web app once this is fixed. """ use Swoosh.Adapter require Logger diff --git a/elixir/apps/domain/mix.exs b/elixir/apps/domain/mix.exs index 29259544e..91245ced8 100644 --- a/elixir/apps/domain/mix.exs +++ b/elixir/apps/domain/mix.exs @@ -77,6 +77,12 @@ defmodule Domain.MixProject do {:opentelemetry_ecto, "~> 1.1"}, {:opentelemetry_finch, "~> 0.2.0"}, + # Mailer deps + # XXX: This is a workaround for the following issue: + # https://github.com/elixir-lang/elixir/issues/12777 + # Remove Swoosh from Domain once this is fixed. + {:phoenix_swoosh, "~> 1.0"}, + # Test and dev deps {:bypass, "~> 2.1", only: :test}, {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, diff --git a/elixir/config/config.exs b/elixir/config/config.exs index ec195bfc1..07b77c266 100644 --- a/elixir/config/config.exs +++ b/elixir/config/config.exs @@ -169,7 +169,7 @@ config :posthog, api_key: "phc_ubuPhiqqjMdedpmbWpG2Ak3axqv5eMVhFDNBaXl9UZK" config :web, Web.Mailer, - adapter: Web.Mailer.NoopAdapter, + adapter: Domain.Mailer.NoopAdapter, from_email: "test@firez.one" # TODO: actually copy fonts here, otherwise:application