Parcourir la source

fix for adminFE

- revert UserAllowPolicy description
- MRF descriptions order
2298-weird-follow-issue
Alexander Strizhakov il y a 3 ans
Parent
révision
efc27f6464
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: 22896A53AEF1381
3 fichiers modifiés avec 58 ajouts et 50 suppressions
  1. +0
    -34
      config/description.exs
  2. +39
    -3
      lib/pleroma/web/activity_pub/mrf.ex
  3. +19
    -13
      lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex

+ 0
- 34
config/description.exs Voir le fichier

@@ -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",


+ 39
- 3
lib/pleroma/web/activity_pub/mrf.ex Voir le fichier

@@ -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


+ 19
- 13
lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex Voir le fichier

@@ -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

Chargement…
Annuler
Enregistrer