From: csaurus Date: Tue, 15 May 2018 01:46:09 +0000 (-0400) Subject: Handle cases where a to/cc field is absent on a status X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=4dfb40a5467f6206b2793bdafbd82a7ae4ee04bf;p=akkoma Handle cases where a to/cc field is absent on a status --- diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index f7f6d047e..4ce2e6052 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -239,9 +239,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do activity in query, join: sender in User, on: sender.ap_id == activity.actor, + # Are non-direct statuses with no to/cc possible? where: - fragment("not data->'to' \\? ?", ^public) and fragment("not data->'cc' \\? ?", ^public) and - fragment("not data->'to' \\? ?", sender.follower_address) + fragment("not coalesce(data->'to' \\? ?, false)", ^public) and + fragment("not coalesce(data->'cc' \\? ?, false)", ^public) and + fragment("not coalesce(data->'to' \\? ?, false)", sender.follower_address) ) end