Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
[akkoma] / lib / pleroma / web / nodeinfo / nodeinfo_controller.ex
index 03c35cc2a25fa89a62f7cf74171583940e9c13e2..012bf560bf60e0a71eb8a46c4077ce27c78b817c 100644 (file)
@@ -33,12 +33,16 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
   # under software.
   def raw_nodeinfo do
     stats = Stats.get_stats()
-
-    quarantined = Config.get([:instance, :quarantined_instances], [])
+    exclusions = Config.get([:instance, :mrf_transparency_exclusions], [])
+    quarantined =
+      Config.get([:instance, :quarantined_instances], [])
+      |> Enum.filter(fn x -> !Enum.member?(exclusions, x) end)
 
     staff_accounts =
       User.all_superusers()
       |> Enum.map(fn u -> u.ap_id end)
+      |> Enum.filter(fn u -> not Enum.member?(Config.get([:instance, :staff_transparency]), u) end)
 
     federation_response =
       if Config.get([:instance, :mrf_transparency]) do
@@ -46,10 +50,10 @@ defmodule Pleroma.Web.Nodeinfo.NodeinfoController do
 
         data
         |> Map.merge(%{quarantined_instances: quarantined})
-        |> Map.put(:enabled, Config.get([:instance, :federating]))
       else
         %{}
       end
+      |> Map.put(:enabled, Config.get([:instance, :federating]))
 
     features =
       [