activitypub: fix possible false positives with broken thread filtering

This commit is contained in:
William Pitcock 2018-10-28 05:45:33 +00:00
parent 310a4bc25c
commit 72ea54de6e

View File

@ -793,9 +793,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
# child # child
def entire_thread_visible_for_user?( def entire_thread_visible_for_user?(
%Activity{data: %{"object" => %{"inReplyTo" => _parent_id}}} = tail, %Activity{data: %{"object" => %{"inReplyTo" => parent_id}}} = tail,
user user
) do )
when is_binary(parent_id) do
parent = Activity.get_in_reply_to_activity(tail) parent = Activity.get_in_reply_to_activity(tail)
visible_for_user?(tail, user) && entire_thread_visible_for_user?(parent, user) visible_for_user?(tail, user) && entire_thread_visible_for_user?(parent, user)
end end