Expand "to" of delete activities
This commit is contained in:
parent
abd0b85efd
commit
8302cdb5dc
2 changed files with 14 additions and 1 deletions
|
@ -305,11 +305,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
||||||
def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ true) do
|
def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ true) do
|
||||||
user = User.get_cached_by_ap_id(actor)
|
user = User.get_cached_by_ap_id(actor)
|
||||||
|
|
||||||
|
to = object.data["to"] || [] ++ object.data["cc"] ||
|
||||||
|
[] ++ [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"]
|
||||||
|
|
||||||
data = %{
|
data = %{
|
||||||
"type" => "Delete",
|
"type" => "Delete",
|
||||||
"actor" => actor,
|
"actor" => actor,
|
||||||
"object" => id,
|
"object" => id,
|
||||||
"to" => [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"]
|
"to" => Enum.uniq(to)
|
||||||
}
|
}
|
||||||
|
|
||||||
with {:ok, _} <- Object.delete(object),
|
with {:ok, _} <- Object.delete(object),
|
||||||
|
|
|
@ -591,6 +591,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
|
||||||
|
|
||||||
assert Repo.get(Object, object.id).data["type"] == "Tombstone"
|
assert Repo.get(Object, object.id).data["type"] == "Tombstone"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "it creates a delete activity and checks that it is also sent to users mentioned by the deleted object" do
|
||||||
|
user = insert(:user)
|
||||||
|
note = insert(:note_activity)
|
||||||
|
object = Object.get_by_ap_id(note.data["object"]["id"])
|
||||||
|
object = Kernel.put_in(object.data["to"], [user.ap_id])
|
||||||
|
{:ok, delete} = ActivityPub.delete(object)
|
||||||
|
|
||||||
|
assert user.ap_id in delete.data["to"]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "timeline post-processing" do
|
describe "timeline post-processing" do
|
||||||
|
|
Loading…
Reference in a new issue