fix for adminFE
authorAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 11 Nov 2020 07:10:57 +0000 (10:10 +0300)
committerAlexander Strizhakov <alex.strizhakov@gmail.com>
Wed, 11 Nov 2020 07:10:57 +0000 (10:10 +0300)
- revert UserAllowPolicy description
- MRF descriptions order

config/description.exs
lib/pleroma/web/activity_pub/mrf.ex
lib/pleroma/web/activity_pub/mrf/user_allow_list_policy.ex

index 69072312c840bb9e5ee1b9d973c5587f325408f1..0552b37e07670f008e389306d38d49b922be0739 100644 (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,
     key: :media_proxy,
index 656e4c7ca1cf3373b20cff146e66398adef7f30c..ce125a6969b1b3eea3284c496c1ee40b586bcb86 100644 (file)
@@ -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
index 885bcca6fb97e354cd3755063c781e4cc01bbf23..f2859abde028cb8fe23d7727926f27f95747dd80 100644 (file)
@@ -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