- revert UserAllowPolicy description - MRF descriptions order2298-weird-follow-issue
@@ -1556,40 +1556,6 @@ config :pleroma, :config_description, [ | |||
}, | |||
%{ | |||
group: :pleroma, | |||
key: :mrf, | |||
tab: :mrf, | |||
label: "MRF", | |||
type: :group, | |||
description: "General MRF settings", | |||
children: [ | |||
%{ | |||
key: :policies, | |||
type: [:module, {:list, :module}], | |||
description: | |||
"A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", | |||
suggestions: {:list_behaviour_implementations, Pleroma.Web.ActivityPub.MRF} | |||
}, | |||
%{ | |||
key: :transparency, | |||
label: "MRF transparency", | |||
type: :boolean, | |||
description: | |||
"Make the content of your Message Rewrite Facility settings public (via nodeinfo)" | |||
}, | |||
%{ | |||
key: :transparency_exclusions, | |||
label: "MRF transparency exclusions", | |||
type: {:list, :string}, | |||
description: | |||
"Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", | |||
suggestions: [ | |||
"exclusion.com" | |||
] | |||
} | |||
] | |||
}, | |||
%{ | |||
group: :pleroma, | |||
key: :media_proxy, | |||
type: :group, | |||
description: "Media proxy", | |||
@@ -5,10 +5,46 @@ | |||
defmodule Pleroma.Web.ActivityPub.MRF do | |||
require Logger | |||
@mrf_config_descriptions [ | |||
%{ | |||
group: :pleroma, | |||
key: :mrf, | |||
tab: :mrf, | |||
label: "MRF", | |||
type: :group, | |||
description: "General MRF settings", | |||
children: [ | |||
%{ | |||
key: :policies, | |||
type: [:module, {:list, :module}], | |||
description: | |||
"A list of MRF policies enabled. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.", | |||
suggestions: {:list_behaviour_implementations, Pleroma.Web.ActivityPub.MRF} | |||
}, | |||
%{ | |||
key: :transparency, | |||
label: "MRF transparency", | |||
type: :boolean, | |||
description: | |||
"Make the content of your Message Rewrite Facility settings public (via nodeinfo)" | |||
}, | |||
%{ | |||
key: :transparency_exclusions, | |||
label: "MRF transparency exclusions", | |||
type: {:list, :string}, | |||
description: | |||
"Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value.", | |||
suggestions: [ | |||
"exclusion.com" | |||
] | |||
} | |||
] | |||
} | |||
] | |||
@default_description %{ | |||
label: "", | |||
description: "", | |||
children: [] | |||
description: "" | |||
} | |||
@required_description_keys [:key, :related_policy] | |||
@@ -107,7 +143,7 @@ defmodule Pleroma.Web.ActivityPub.MRF do | |||
end | |||
def config_descriptions(policies) do | |||
Enum.reduce(policies, [], fn policy, acc -> | |||
Enum.reduce(policies, @mrf_config_descriptions, fn policy, acc -> | |||
if function_exported?(policy, :config_description, 0) do | |||
description = | |||
@default_description | |||
@@ -42,17 +42,23 @@ defmodule Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy do | |||
{:ok, %{mrf_user_allowlist: mrf_user_allowlist}} | |||
end | |||
@impl true | |||
def config_description do | |||
%{ | |||
key: :mrf_user_allowlist, | |||
related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy", | |||
description: | |||
"The keys in this section are the domain names that the policy should apply to." <> | |||
" Each key should be assigned a list of users that should be allowed through by their ActivityPub ID", | |||
suggestions: [ | |||
%{"example.org" => ["https://example.org/users/admin"]} | |||
] | |||
} | |||
end | |||
# TODO: change way of getting settings on `lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex:18` to use `hosts` subkey | |||
# @impl true | |||
# def config_description do | |||
# %{ | |||
# key: :mrf_user_allowlist, | |||
# related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy", | |||
# description: "Accept-list of users from specified instances", | |||
# children: [ | |||
# %{ | |||
# key: :hosts, | |||
# type: :map, | |||
# description: | |||
# "The keys in this section are the domain names that the policy should apply to." <> | |||
# " Each key should be assigned a list of users that should be allowed through by their ActivityPub ID", | |||
# suggestions: [%{"example.org" => ["https://example.org/users/admin"]}] | |||
# } | |||
# ] | |||
# } | |||
# end | |||
end |