Merge branch 'fix/deprecation-warning-welcome-message' into 'develop'
Fix deprecation warnings for old config settings Closes #2153 See merge request pleroma/pleroma!3021
This commit is contained in:
commit
35157f5dc8
@ -33,34 +33,8 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
|||||||
end
|
end
|
||||||
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
|
def warn do
|
||||||
with :ok <- check_hellthread_threshold(),
|
with :ok <- check_hellthread_threshold(),
|
||||||
:ok <- mrf_user_allowlist(),
|
|
||||||
:ok <- check_old_mrf_config(),
|
:ok <- check_old_mrf_config(),
|
||||||
:ok <- check_media_proxy_whitelist_config(),
|
:ok <- check_media_proxy_whitelist_config(),
|
||||||
:ok <- check_welcome_message_config(),
|
:ok <- check_welcome_message_config(),
|
||||||
@ -83,9 +57,9 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
|||||||
if use_old_config do
|
if use_old_config do
|
||||||
Logger.error("""
|
Logger.error("""
|
||||||
!!!DEPRECATION WARNING!!!
|
!!!DEPRECATION WARNING!!!
|
||||||
Your config is using the old namespace for Welcome messages configuration. You need to change to the new namespace:
|
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` is now `config :pleroma, :welcome, :direct_message, :sender_nickname`
|
\n* `config :pleroma, :instance, welcome_user_nickname` and `config :pleroma, :instance, welcome_message` are now equal to:
|
||||||
\n* `config :pleroma, :instance, welcome_message` is now `config :pleroma, :welcome, :direct_message, :message`
|
\n* `config :pleroma, :welcome, direct_message: [enabled: true, sender_nickname: "NICKNAME", message: "Your welcome message"]`"
|
||||||
""")
|
""")
|
||||||
|
|
||||||
:error
|
:error
|
||||||
@ -148,7 +122,7 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
|||||||
if timeout = pool_config[:await_up_timeout] do
|
if timeout = pool_config[:await_up_timeout] do
|
||||||
Logger.warn("""
|
Logger.warn("""
|
||||||
!!!DEPRECATION WARNING!!!
|
!!!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))
|
Config.put(:connections_pool, Keyword.put_new(pool_config, :connect_timeout, timeout))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
defmodule Pleroma.Config.DeprecationWarningsTest do
|
defmodule Pleroma.Config.DeprecationWarningsTest do
|
||||||
use ExUnit.Case, async: true
|
use ExUnit.Case
|
||||||
use Pleroma.Tests.Helpers
|
use Pleroma.Tests.Helpers
|
||||||
|
|
||||||
import ExUnit.CaptureLog
|
import ExUnit.CaptureLog
|
||||||
@ -66,6 +66,30 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
|
|||||||
end) =~ "Your config is using old format (only domain) for MediaProxy whitelist option"
|
end) =~ "Your config is using old format (only domain) for MediaProxy whitelist option"
|
||||||
end
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
describe "check_gun_pool_options/0" do
|
||||||
test "await_up_timeout" do
|
test "await_up_timeout" do
|
||||||
config = Config.get(:connections_pool)
|
config = Config.get(:connections_pool)
|
||||||
@ -74,7 +98,7 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
|
|||||||
assert capture_log(fn ->
|
assert capture_log(fn ->
|
||||||
DeprecationWarnings.check_gun_pool_options()
|
DeprecationWarnings.check_gun_pool_options()
|
||||||
end) =~
|
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
|
end
|
||||||
|
|
||||||
test "pool timeout" do
|
test "pool timeout" do
|
||||||
|
Loading…
Reference in New Issue
Block a user