:ok <- maybe_federate(unannounce_activity),
{:ok, _activity} <- Repo.delete(announce_activity),
{:ok, object} <- remove_announce_from_object(announce_activity, object) do
- {:ok, unannounce_activity, announce_activity, object}
+ {:ok, unannounce_activity, object}
else
_e -> {:ok, object}
end
on: sender.ap_id == activity.actor,
# Are non-direct statuses with no to/cc possible?
where:
- 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)
+ fragment(
+ "not (? && ?)",
+ [^public, sender.follower_address],
+ activity.recipients
+ )
)
end