SimpleMRF: :silence --> :followers_only
authorAlex Gleason <alex@alexgleason.me>
Wed, 29 Jul 2020 17:58:08 +0000 (12:58 -0500)
committerAlex Gleason <alex@alexgleason.me>
Wed, 29 Jul 2020 17:58:08 +0000 (12:58 -0500)
config/description.exs
docs/configuration/cheatsheet.md
lib/pleroma/web/activity_pub/mrf/simple_policy.ex
test/web/activity_pub/mrf/simple_policy_test.exs

index 9ffe6f93da81b82029e79734bf9c2a690550c7fe..dc6e2a76e91132609f28578be5a54a99fa8e2aea 100644 (file)
@@ -1525,7 +1525,7 @@ config :pleroma, :config_description, [
         suggestions: ["example.com", "*.example.com"]
       },
       %{
-        key: :silence,
+        key: :followers_only,
         type: {:list, :string},
         description: "Force posts from the given instances to be visible by followers only",
         suggestions: ["example.com", "*.example.com"]
index 9a7f4f369080cabc5ce42b9f27816a50b851ab07..b195b6f173a606a81fd2fe32d916cc694aeea2c3 100644 (file)
@@ -122,7 +122,7 @@ To add configuration to your config file, you can copy it from the base config.
 * `federated_timeline_removal`: List of instances to remove from Federated (aka The Whole Known Network) Timeline.
 * `reject`: List of instances to reject any activities from.
 * `accept`: List of instances to accept any activities from.
-* `silence`: List of instances to force posts as followers-only.
+* `followers_only`: List of instances to force posts as followers-only.
 * `report_removal`: List of instances to reject reports from.
 * `avatar_removal`: List of instances to strip avatars from.
 * `banner_removal`: List of instances to strip banners from.
index 4dce22cfa4cbbb5e757e6d143cb925d56c522086..ffaac767e78ef4d1180d04105fe729f22e0e1396 100644 (file)
@@ -109,13 +109,13 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
     {:ok, object}
   end
 
-  defp check_silence(%{host: actor_host} = _actor_info, object) do
-    silence =
-      Config.get([:mrf_simple, :silence])
+  defp check_followers_only(%{host: actor_host} = _actor_info, object) do
+    followers_only =
+      Config.get([:mrf_simple, :followers_only])
       |> MRF.subdomains_regex()
 
     object =
-      with true <- MRF.subdomain_match?(silence, actor_host),
+      with true <- MRF.subdomain_match?(followers_only, actor_host),
            user <- User.get_cached_by_ap_id(object["actor"]) do
         # Don't use Map.get/3 intentionally, these must not be nil
         fixed_to = object["to"] || []
@@ -200,7 +200,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicy do
          {:ok, object} <- check_media_removal(actor_info, object),
          {:ok, object} <- check_media_nsfw(actor_info, object),
          {:ok, object} <- check_ftl_removal(actor_info, object),
-         {:ok, object} <- check_silence(actor_info, object),
+         {:ok, object} <- check_followers_only(actor_info, object),
          {:ok, object} <- check_report_removal(actor_info, object) do
       {:ok, object}
     else
index 510a31d80273a9d9acbb51779cddfca08340210f..c0e82731be3c713fbde634baae9168bab90e2736 100644 (file)
@@ -16,7 +16,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
             federated_timeline_removal: [],
             report_removal: [],
             reject: [],
-            silence: [],
+            followers_only: [],
             accept: [],
             avatar_removal: [],
             banner_removal: [],
@@ -263,9 +263,9 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
     end
   end
 
-  describe "when :silence" do
+  describe "when :followers_only" do
     test "is empty" do
-      Config.put([:mrf_simple, :silence], [])
+      Config.put([:mrf_simple, :followers_only], [])
       {_, ftl_message} = build_ftl_actor_and_message()
       local_message = build_local_message()
 
@@ -296,7 +296,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do
         |> URI.parse()
         |> Map.fetch!(:host)
 
-      Config.put([:mrf_simple, :silence], [actor_domain])
+      Config.put([:mrf_simple, :followers_only], [actor_domain])
 
       assert {:ok, new_activity} = SimplePolicy.filter(activity)
       assert actor.follower_address in new_activity["to"]