From 9427ebf70e8531b14fbda99e22479d229696e171 Mon Sep 17 00:00:00 2001 From: FloatingGhost Date: Sun, 4 Dec 2022 20:19:38 +0000 Subject: [PATCH] Left join, not inner --- lib/pleroma/web/activity_pub/activity_pub.ex | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 8233bcbf8..3f46a8ecb 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -946,13 +946,15 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do end defp restrict_recipients_or_hashtags(query, recipients, _user, hashtag_ids) do - from( - [activity, object] in query, - join: hto in "hashtags_objects", + from([activity, object] in query) + |> join(:left, [activity, object], hto in "hashtags_objects", on: hto.object_id == object.id, - where: - (hto.hashtag_id in ^hashtag_ids and ^Constants.as_public() in activity.recipients) or - fragment("? && ?", ^recipients, activity.recipients) + as: :hto + ) + |> where( + [activity, object, hto: hto], + (hto.hashtag_id in ^hashtag_ids and ^Constants.as_public() in activity.recipients) or + fragment("? && ?", ^recipients, activity.recipients) ) end