Add missing deprecation warning left out of !2842
authorMark Felder <feld@feld.me>
Fri, 4 Jun 2021 17:30:10 +0000 (12:30 -0500)
committerMark Felder <feld@feld.me>
Fri, 4 Jun 2021 17:30:10 +0000 (12:30 -0500)
lib/pleroma/config/deprecation_warnings.ex
test/pleroma/config/deprecation_warnings_test.exs

index 24aa5993bae0aefd1201c8d6daea8bcf47f31565..fedd58a7ef584bc09e9da5467d4583b80edde24e 100644 (file)
@@ -41,7 +41,8 @@ defmodule Pleroma.Config.DeprecationWarnings do
          :ok <- check_gun_pool_options(),
          :ok <- check_activity_expiration_config(),
          :ok <- check_remote_ip_plug_name(),
-         :ok <- check_uploders_s3_public_endpoint() do
+         :ok <- check_uploders_s3_public_endpoint(),
+         :ok <- check_old_chat_shoutbox() do
       :ok
     else
       _ ->
@@ -215,4 +216,27 @@ defmodule Pleroma.Config.DeprecationWarnings do
       :ok
     end
   end
+
+  @spec check_old_chat_shoutbox() :: :ok | nil
+  def check_old_chat_shoutbox do
+    instance_config = Pleroma.Config.get([:instance])
+    chat_config = Pleroma.Config.get([:chat]) || []
+
+    use_old_config =
+      Keyword.has_key?(instance_config, :chat_limit) or
+        Keyword.has_key?(chat_config, :enabled)
+
+    if use_old_config do
+      Logger.error("""
+      !!!DEPRECATION WARNING!!!
+      Your config is using the old namespace for the Shoutbox configuration. You need to convert to the new namespace. e.g.,
+      \n* `config :pleroma, :chat, enabled` and `config :pleroma, :instance, chat_limit` are now equal to:
+      \n* `config :pleroma, :shout, enabled` and `config :pleroma, :shout, limit`
+      """)
+
+      :error
+    else
+      :ok
+    end
+  end
 end
index 15f4982ea6dc04f873c5179ddbd3dda498fd0fc9..ccf86634f0b593f5de77d1be6420f54afcb6f66d 100644 (file)
@@ -146,4 +146,14 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
                "Your config is using old setting name `timeout` instead of `recv_timeout` in pool settings"
     end
   end
+
+  test "check_old_chat_shoutbox/0" do
+    clear_config([:instance, :chat_limit], 1_000)
+    clear_config([:chat, :enabled], true)
+
+    assert capture_log(fn ->
+             DeprecationWarnings.check_old_chat_shoutbox()
+           end) =~
+             "Your config is using the old namespace for the Shoutbox configuration."
+  end
 end