[#878] Merge remote-tracking branch 'remotes/upstream/develop' into 878-activity...
[akkoma] / lib / pleroma / web / federator / federator.ex
index f4c9fe28403d4991f6569b7bc91897529fbcd155..f4f9e83e06ab55f71b715301631865bc46b11c00 100644 (file)
@@ -22,6 +22,18 @@ defmodule Pleroma.Web.Federator do
     refresh_subscriptions()
   end
 
+  @doc "Addresses [memory leaks on recursive replies fetching](https://git.pleroma.social/pleroma/pleroma/issues/161)"
+  # credo:disable-for-previous-line Credo.Check.Readability.MaxLineLength
+  def allowed_incoming_reply_depth?(depth) do
+    max_replies_depth = Pleroma.Config.get([:instance, :federation_incoming_replies_max_depth])
+
+    if max_replies_depth do
+      (depth || 1) <= max_replies_depth
+    else
+      true
+    end
+  end
+
   # Client API
 
   def incoming_doc(doc) do