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