X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fconfig%2Fdeprecation_warnings.ex;h=076b4cbf012c33c3badecf554624ca4f8c2a41bb;hb=9c7178286116d61a565fcba61ec64b20fec3a28a;hp=3675c5e4ac1e873520f7a7118d600a42d34564d0;hpb=d109bbf71c2781bd0684f98e797f75aa951e67c3;p=akkoma diff --git a/lib/pleroma/config/deprecation_warnings.ex b/lib/pleroma/config/deprecation_warnings.ex index 3675c5e4a..076b4cbf0 100644 --- a/lib/pleroma/config/deprecation_warnings.ex +++ b/lib/pleroma/config/deprecation_warnings.ex @@ -17,13 +17,15 @@ defmodule Pleroma.Config.DeprecationWarnings do {[: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 has_strings = Config.get([:mrf_simple]) - |> Enum.any?(fn {_, v} -> Enum.any?(v, &is_binary/1) end) + |> Enum.any?(fn {_, v} -> is_list(v) and Enum.any?(v, &is_binary/1) end) if has_strings do Logger.warn(""" @@ -64,6 +66,7 @@ defmodule Pleroma.Config.DeprecationWarnings do new_config = Config.get([:mrf_simple]) + |> Enum.filter(fn {_k, v} -> not is_atom(v) end) |> Enum.map(fn {k, v} -> {k, Enum.map(v, fn @@ -81,7 +84,7 @@ defmodule Pleroma.Config.DeprecationWarnings 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(""" @@ -178,7 +181,8 @@ defmodule Pleroma.Config.DeprecationWarnings do check_uploders_s3_public_endpoint(), check_quarantined_instances_tuples(), check_transparency_exclusions_tuples(), - check_simple_policy_tuples() + check_simple_policy_tuples(), + check_http_adapter() ] |> Enum.reduce(:ok, fn :ok, :ok -> :ok @@ -207,6 +211,32 @@ defmodule Pleroma.Config.DeprecationWarnings do end end + def check_http_adapter do + http_adapter = Application.get_env(:tesla, :adapter) + + case http_adapter do + {Tesla.Adapter.Finch, _} -> + :ok + + Tesla.Mock -> + # tests do be testing + :ok + + _anything_else -> + Logger.error(""" + !!!CONFIG ERROR!!! + Your config is using a custom tesla adapter, this was standardised + to finch in 2022.06, and alternate adapters were removed in 2023.02. + Please ensure you either: + \n* do not have any custom value for `:tesla, :adapter`, or + \n* have `config :tesla, :adapter, {Tesla.Adapter.Finch, name: MyFinch}` + (your current value is #{inspect(http_adapter)}) + """) + + :error + end + end + def check_old_mrf_config do warning_preface = """ !!!DEPRECATION WARNING!!!