{[:instance, :mrf_transparency], [:mrf, :transparency],
"\n* `config :pleroma, :instance, mrf_transparency` is now `config :pleroma, :mrf, transparency`"},
{[:instance, :mrf_transparency_exclusions], [:mrf, :transparency_exclusions],
- "\n* `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`"}
+ "\n* `config :pleroma, :instance, mrf_transparency_exclusions` is now `config :pleroma, :mrf, transparency_exclusions`"},
+ {[:instance, :quarantined_instances], [:mrf_simple, :reject],
+ "\n* `config :pleroma, :instance, :quarantined_instances` is now covered by `:pleroma, :mrf_simple, :reject`"}
]
def check_simple_policy_tuples do
end
def check_quarantined_instances_tuples do
- has_strings = Config.get([:instance, :quarantined_instances]) |> Enum.any?(&is_binary/1)
+ has_strings = Config.get([:instance, :quarantined_instances], []) |> Enum.any?(&is_binary/1)
if has_strings do
Logger.warn("""
check_old_mrf_config(),
check_media_proxy_whitelist_config(),
check_welcome_message_config(),
- check_gun_pool_options(),
check_activity_expiration_config(),
check_remote_ip_plug_name(),
check_uploders_s3_public_endpoint(),
- check_old_chat_shoutbox(),
check_quarantined_instances_tuples(),
check_transparency_exclusions_tuples(),
check_simple_policy_tuples()
end
end
- def check_gun_pool_options do
- pool_config = Config.get(:connections_pool)
-
- if timeout = pool_config[:await_up_timeout] do
- Logger.warn("""
- !!!DEPRECATION WARNING!!!
- 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))
- end
-
- pools_configs = Config.get(:pools)
-
- warning_preface = """
- !!!DEPRECATION WARNING!!!
- Your config is using old setting name `timeout` instead of `recv_timeout` in pool settings. Setting should work for now, but you are advised to change format to scheme with port to prevent possible issues later.
- """
-
- updated_config =
- Enum.reduce(pools_configs, [], fn {pool_name, config}, acc ->
- if timeout = config[:timeout] do
- Keyword.put(acc, pool_name, Keyword.put_new(config, :recv_timeout, timeout))
- else
- acc
- end
- end)
-
- if updated_config != [] do
- pool_warnings =
- updated_config
- |> Keyword.keys()
- |> Enum.map(fn pool_name ->
- "\n* `:timeout` options in #{pool_name} pool is now `:recv_timeout`"
- end)
-
- Logger.warn(Enum.join([warning_preface | pool_warnings]))
-
- Config.put(:pools, updated_config)
- :error
- else
- :ok
- end
- end
-
@spec check_activity_expiration_config() :: :ok | nil
def check_activity_expiration_config do
warning_preface = """
: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