Fix in-db configuration in dev environment
authorrinpatch <rinpatch@sdf.org>
Tue, 14 Jul 2020 08:41:30 +0000 (11:41 +0300)
committerrinpatch <rinpatch@sdf.org>
Tue, 14 Jul 2020 10:16:54 +0000 (13:16 +0300)
Previously, in-db configuration only worked when `warnings_as_errors`
was disabled because re-compiling scrubbers on application restart
created a warning about module conflicts. This patch fixes that
by enabling `ignore_module_conflict` option of the compiler at runtime,
and enables `warnings_as_errors` in prod since there is no reason
to keep it disabled anymore.

lib/pleroma/application.ex
mix.exs

index b68a373a448c7d2c3f96f051bd1b4744e03eff98..3282c6882104c9e14fafe004fa0a675b34959ddd 100644 (file)
@@ -35,6 +35,10 @@ defmodule Pleroma.Application do
   # See http://elixir-lang.org/docs/stable/elixir/Application.html
   # for more information on OTP Applications
   def start(_type, _args) do
+    # Scrubbers are compiled at runtime and therefore will cause a conflict
+    # every time the application is restarted, so we disable module
+    # conflicts at runtime
+    Code.compiler_options(ignore_module_conflict: true)
     Config.Holder.save_default()
     Pleroma.HTML.compile_scrubbers()
     Config.DeprecationWarnings.warn()
diff --git a/mix.exs b/mix.exs
index d7992ee37181180cfbe687e92e70193df87e4364..741f917e68fd7b7e4b81ee365d9b166457d77b10 100644 (file)
--- a/mix.exs
+++ b/mix.exs
@@ -90,8 +90,6 @@ defmodule Pleroma.Mixfile do
   defp elixirc_paths(_), do: ["lib"]
 
   defp warnings_as_errors(:prod), do: false
-  # Uncomment this if you need testing configurable_from_database logic
-  # defp warnings_as_errors(:dev), do: false
   defp warnings_as_errors(_), do: true
 
   # Specifies OAuth dependencies.