From e5927e92a641a799f9b4e89466374be3c76c4ef2 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Mon, 21 Sep 2020 17:08:49 -0500
Subject: [PATCH 1/7] Fix deprecation warning for welcome message

---
 lib/pleroma/config/deprecation_warnings.ex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex
index 98c4dc9c8..51ddb2889 100644
--- a/lib/pleroma/config/deprecation_warnings.ex
+++ b/lib/pleroma/config/deprecation_warnings.ex
@@ -83,9 +83,9 @@ def check_welcome_message_config do
     if use_old_config do
       Logger.error("""
       !!!DEPRECATION WARNING!!!
-      Your config is using the old namespace for Welcome messages configuration. You need to change to the new namespace:
-      \n* `config :pleroma, :instance, welcome_user_nickname` is now `config :pleroma, :welcome, :direct_message, :sender_nickname`
-      \n* `config :pleroma, :instance, welcome_message` is now `config :pleroma, :welcome, :direct_message, :message`
+      Your config is using the old namespace for Welcome messages configuration. You need to convert to the new namespace. e.g.,
+      \n* `config :pleroma, :instance, welcome_user_nickname` and `config :pleroma, :instance, welcome_message` are now equal to:
+      \n* `config :pleroma, :welcome, direct_message: [enabled: true, sender_nickname: "NICKNAME", message: "Your welcome message"]`"
       """)
 
       :error

From 2fc3b46ee7e8ee8c22d4cf0039bbe9755a0e3beb Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Tue, 22 Sep 2020 11:13:36 -0500
Subject: [PATCH 2/7] Remove deprecation warning. We were supposed to remove
 backwards compat for this in 2.1.

---
 lib/pleroma/config/deprecation_warnings.ex | 26 ----------------------
 1 file changed, 26 deletions(-)

diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex
index 51ddb2889..091d02366 100644
--- a/lib/pleroma/config/deprecation_warnings.ex
+++ b/lib/pleroma/config/deprecation_warnings.ex
@@ -33,34 +33,8 @@ def check_hellthread_threshold do
     end
   end
 
-  def mrf_user_allowlist do
-    config = Config.get(:mrf_user_allowlist)
-
-    if config && Enum.any?(config, fn {k, _} -> is_atom(k) end) do
-      rewritten =
-        Enum.reduce(Config.get(:mrf_user_allowlist), Map.new(), fn {k, v}, acc ->
-          Map.put(acc, to_string(k), v)
-        end)
-
-      Config.put(:mrf_user_allowlist, rewritten)
-
-      Logger.error("""
-      !!!DEPRECATION WARNING!!!
-      As of Pleroma 2.0.7, the `mrf_user_allowlist` setting changed of format.
-      Pleroma 2.1 will remove support for the old format. Please change your configuration to match this:
-
-      config :pleroma, :mrf_user_allowlist, #{inspect(rewritten, pretty: true)}
-      """)
-
-      :error
-    else
-      :ok
-    end
-  end
-
   def warn do
     with :ok <- check_hellthread_threshold(),
-         :ok <- mrf_user_allowlist(),
          :ok <- check_old_mrf_config(),
          :ok <- check_media_proxy_whitelist_config(),
          :ok <- check_welcome_message_config(),

From e2dcf039d24b1606c90cea75ef11c79b7677c209 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Tue, 22 Sep 2020 11:15:40 -0500
Subject: [PATCH 3/7] Fix gun_pool_options deprecation warning message

---
 lib/pleroma/config/deprecation_warnings.ex | 2 +-
 test/config/deprecation_warnings_test.exs  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex
index 091d02366..4ba6eaa77 100644
--- a/lib/pleroma/config/deprecation_warnings.ex
+++ b/lib/pleroma/config/deprecation_warnings.ex
@@ -122,7 +122,7 @@ def check_gun_pool_options do
     if timeout = pool_config[:await_up_timeout] do
       Logger.warn("""
       !!!DEPRECATION WARNING!!!
-      Your config is using old setting name `await_up_timeout` instead of `connect_timeout`. Setting should work for now, but you are advised to change format to scheme with port to prevent possible issues later.
+      Your config is using old setting `config :pleroma, :connections_pool, await_up_timeout`. Please change to `config :pleroma, :connections_pool, connect_timeout` to ensure compatibility with future releases.
       """)
 
       Config.put(:connections_pool, Keyword.put_new(pool_config, :connect_timeout, timeout))
diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs
index e22052404..7f0d2a298 100644
--- a/test/config/deprecation_warnings_test.exs
+++ b/test/config/deprecation_warnings_test.exs
@@ -74,7 +74,7 @@ test "await_up_timeout" do
       assert capture_log(fn ->
                DeprecationWarnings.check_gun_pool_options()
              end) =~
-               "Your config is using old setting name `await_up_timeout` instead of `connect_timeout`"
+               "Your config is using old setting `config :pleroma, :connections_pool, await_up_timeout`."
     end
 
     test "pool timeout" do

From 25bdf0d0d95bf748f10c43d569640794a8a0d4c7 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Tue, 22 Sep 2020 11:19:29 -0500
Subject: [PATCH 4/7] Add test for welcome message format

---
 test/config/deprecation_warnings_test.exs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs
index 7f0d2a298..e8140f58e 100644
--- a/test/config/deprecation_warnings_test.exs
+++ b/test/config/deprecation_warnings_test.exs
@@ -66,6 +66,14 @@ test "check_media_proxy_whitelist_config/0" do
            end) =~ "Your config is using old format (only domain) for MediaProxy whitelist option"
   end
 
+  test "check_welcome_message_config/0" do
+    clear_config([:instance, :welcome_user_nickname], "LainChan")
+
+    assert capture_log(fn ->
+             DeprecationWarnings.check_welcome_message_config()
+           end) =~ "Your config is using the old namespace for Welcome messages configuration."
+  end
+
   describe "check_gun_pool_options/0" do
     test "await_up_timeout" do
       config = Config.get(:connections_pool)

From 7775b1540f47f792f0afa7c49a2cf058e2f6470e Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Tue, 22 Sep 2020 11:22:15 -0500
Subject: [PATCH 5/7] Add deprecation warning test for
 check_hellthread_threshold/0

---
 test/config/deprecation_warnings_test.exs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs
index e8140f58e..0efc0843c 100644
--- a/test/config/deprecation_warnings_test.exs
+++ b/test/config/deprecation_warnings_test.exs
@@ -74,6 +74,14 @@ test "check_welcome_message_config/0" do
            end) =~ "Your config is using the old namespace for Welcome messages configuration."
   end
 
+  test "check_hellthread_threshold/0" do
+    clear_config([:mrf_hellthread, :threshold], 16)
+
+    assert capture_log(fn ->
+             DeprecationWarnings.check_hellthread_threshold()
+           end) =~ "You are using the old configuration mechanism for the hellthread filter."
+  end
+
   describe "check_gun_pool_options/0" do
     test "await_up_timeout" do
       config = Config.get(:connections_pool)

From 88653c01c92fffb396e32edad203d18607980c04 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Tue, 22 Sep 2020 11:34:51 -0500
Subject: [PATCH 6/7] Add test for check_activity_expiration_config/0

---
 test/config/deprecation_warnings_test.exs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs
index 0efc0843c..28355d7eb 100644
--- a/test/config/deprecation_warnings_test.exs
+++ b/test/config/deprecation_warnings_test.exs
@@ -82,6 +82,14 @@ test "check_hellthread_threshold/0" do
            end) =~ "You are using the old configuration mechanism for the hellthread filter."
   end
 
+  test "check_activity_expiration_config/0" do
+    clear_config([Pleroma.ActivityExpiration, :enabled], true)
+
+    assert capture_log(fn ->
+             DeprecationWarnings.check_activity_expiration_config()
+           end) =~ "Your config is using old namespace for activity expiration configuration."
+  end
+
   describe "check_gun_pool_options/0" do
     test "await_up_timeout" do
       config = Config.get(:connections_pool)

From 4a30598b9eac9d231546078191ff91b933d63de3 Mon Sep 17 00:00:00 2001
From: Mark Felder <feld@FreeBSD.org>
Date: Fri, 25 Sep 2020 12:20:52 -0500
Subject: [PATCH 7/7] Config settings leak and break configdb migration tests
 when async

---
 test/config/deprecation_warnings_test.exs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/config/deprecation_warnings_test.exs b/test/config/deprecation_warnings_test.exs
index 28355d7eb..f81a7b580 100644
--- a/test/config/deprecation_warnings_test.exs
+++ b/test/config/deprecation_warnings_test.exs
@@ -1,5 +1,5 @@
 defmodule Pleroma.Config.DeprecationWarningsTest do
-  use ExUnit.Case, async: true
+  use ExUnit.Case
   use Pleroma.Tests.Helpers
 
   import ExUnit.CaptureLog