fix for adminFE

- revert UserAllowPolicy description
- MRF descriptions order
This commit is contained in:
Alexander Strizhakov 2020-11-11 10:10:57 +03:00
parent 485697d96c
commit efc27f6464
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
3 changed files with 58 additions and 50 deletions

View file

@ -1554,40 +1554,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, group: :pleroma,
key: :media_proxy, key: :media_proxy,

View file

@ -5,10 +5,46 @@
defmodule Pleroma.Web.ActivityPub.MRF do defmodule Pleroma.Web.ActivityPub.MRF do
require Logger 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 %{ @default_description %{
label: "", label: "",
description: "", description: ""
children: []
} }
@required_description_keys [:key, :related_policy] @required_description_keys [:key, :related_policy]
@ -107,7 +143,7 @@ defmodule Pleroma.Web.ActivityPub.MRF do
end end
def config_descriptions(policies) do 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 if function_exported?(policy, :config_description, 0) do
description = description =
@default_description @default_description

View file

@ -42,17 +42,23 @@ defmodule Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy do
{:ok, %{mrf_user_allowlist: mrf_user_allowlist}} {:ok, %{mrf_user_allowlist: mrf_user_allowlist}}
end end
@impl true # TODO: change way of getting settings on `lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex:18` to use `hosts` subkey
def config_description do # @impl true
%{ # def config_description do
key: :mrf_user_allowlist, # %{
related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy", # key: :mrf_user_allowlist,
description: # related_policy: "Pleroma.Web.ActivityPub.MRF.UserAllowListPolicy",
"The keys in this section are the domain names that the policy should apply to." <> # description: "Accept-list of users from specified instances",
" Each key should be assigned a list of users that should be allowed through by their ActivityPub ID", # children: [
suggestions: [ # %{
%{"example.org" => ["https://example.org/users/admin"]} # key: :hosts,
] # type: :map,
} # description:
end # "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 end