mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 08:36:29 +00:00
Deprecate transparency_exclusions
* Give deprecation message * Rewrite configs
This commit is contained in:
parent
dfeb3862da
commit
3c5a497b19
2 changed files with 89 additions and 0 deletions
|
@ -118,6 +118,44 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_transparency_exclusions_tuples do
|
||||||
|
has_strings =
|
||||||
|
Config.get([:mrf, :transparency_exclusions]) |> Enum.any?(fn e -> is_binary(e) end)
|
||||||
|
|
||||||
|
if has_strings do
|
||||||
|
Logger.warn("""
|
||||||
|
!!!DEPRECATION WARNING!!!
|
||||||
|
Your config is using strings in the transparency_exclusions configuration instead of tuples. They should work for now, but you are advised to change to the new configuration to prevent possible issues later:
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, :mrf,
|
||||||
|
transparency_exclusions: ["instance.tld"]
|
||||||
|
```
|
||||||
|
|
||||||
|
Is now
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, :mrf,
|
||||||
|
transparency_exclusions: [{"instance.tld", "Reason to exlude transparency"}]
|
||||||
|
```
|
||||||
|
""")
|
||||||
|
|
||||||
|
new_config =
|
||||||
|
Config.get([:mrf, :transparency_exclusions])
|
||||||
|
|> Enum.map(fn
|
||||||
|
{instance, reason} -> {instance, reason}
|
||||||
|
instance -> {instance, ""}
|
||||||
|
end)
|
||||||
|
|
||||||
|
Config.put([:mrf, :transparency_exclusions], new_config)
|
||||||
|
|
||||||
|
:error
|
||||||
|
else
|
||||||
|
:ok
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def check_hellthread_threshold do
|
def check_hellthread_threshold do
|
||||||
if Config.get([:mrf_hellthread, :threshold]) do
|
if Config.get([:mrf_hellthread, :threshold]) do
|
||||||
Logger.warn("""
|
Logger.warn("""
|
||||||
|
@ -142,6 +180,7 @@ defmodule Pleroma.Config.DeprecationWarnings do
|
||||||
:ok <- check_uploders_s3_public_endpoint(),
|
:ok <- check_uploders_s3_public_endpoint(),
|
||||||
:ok <- check_old_chat_shoutbox(),
|
:ok <- check_old_chat_shoutbox(),
|
||||||
:ok <- check_quarantined_instances_tuples(),
|
:ok <- check_quarantined_instances_tuples(),
|
||||||
|
:ok <- check_transparency_exclusions_tuples(),
|
||||||
:ok <- check_simple_policy_tuples() do
|
:ok <- check_simple_policy_tuples() do
|
||||||
:ok
|
:ok
|
||||||
else
|
else
|
||||||
|
|
|
@ -137,6 +137,56 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "transparency_exclusions tuples" do
|
||||||
|
test "gives warning when there are still strings" do
|
||||||
|
clear_config([:mrf, :transparency_exclusions], [
|
||||||
|
{"domain.com", "some reason"},
|
||||||
|
"somedomain.tld"
|
||||||
|
])
|
||||||
|
|
||||||
|
assert capture_log(fn -> DeprecationWarnings.check_transparency_exclusions_tuples() end) =~
|
||||||
|
"""
|
||||||
|
!!!DEPRECATION WARNING!!!
|
||||||
|
Your config is using strings in the transparency_exclusions configuration instead of tuples. They should work for now, but you are advised to change to the new configuration to prevent possible issues later:
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, :mrf,
|
||||||
|
transparency_exclusions: ["instance.tld"]
|
||||||
|
```
|
||||||
|
|
||||||
|
Is now
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
config :pleroma, :mrf,
|
||||||
|
transparency_exclusions: [{"instance.tld", "Reason to exlude transparency"}]
|
||||||
|
```
|
||||||
|
"""
|
||||||
|
end
|
||||||
|
|
||||||
|
test "transforms config to tuples" do
|
||||||
|
clear_config([:mrf, :transparency_exclusions], [
|
||||||
|
{"domain.com", "some reason"},
|
||||||
|
"some.tld"
|
||||||
|
])
|
||||||
|
|
||||||
|
expected_config = [{"domain.com", "some reason"}, {"some.tld", ""}]
|
||||||
|
|
||||||
|
capture_log(fn -> DeprecationWarnings.check_transparency_exclusions_tuples() end)
|
||||||
|
|
||||||
|
assert Config.get([:mrf, :transparency_exclusions]) == expected_config
|
||||||
|
end
|
||||||
|
|
||||||
|
test "doesn't give a warning with correct config" do
|
||||||
|
clear_config([:mrf, :transparency_exclusions], [
|
||||||
|
{"domain.com", "some reason"},
|
||||||
|
{"some.tld", ""}
|
||||||
|
])
|
||||||
|
|
||||||
|
assert capture_log(fn -> DeprecationWarnings.check_transparency_exclusions_tuples() end) == ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
test "check_old_mrf_config/0" do
|
test "check_old_mrf_config/0" do
|
||||||
clear_config([:instance, :rewrite_policy], [])
|
clear_config([:instance, :rewrite_policy], [])
|
||||||
clear_config([:instance, :mrf_transparency], true)
|
clear_config([:instance, :mrf_transparency], true)
|
||||||
|
|
Loading…
Reference in a new issue