From aab86698a5356e26fe68c650f277913497aac3e9 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Mon, 4 Mar 2019 10:47:04 +0100 Subject: Expand "to" of delete activities --- lib/pleroma/web/activity_pub/activity_pub.ex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 783491b67..bff3025ed 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -310,11 +310,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ true) do 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 = %{ "type" => "Delete", "actor" => actor, "object" => id, - "to" => [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] + "to" => Enum.uniq(to) } with {:ok, _} <- Object.delete(object), -- cgit v1.2.3 From 1445dc25d451f1146acd58ba596ebf5bf37ce6f5 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Mon, 4 Mar 2019 11:18:16 +0100 Subject: fix format --- lib/pleroma/web/activity_pub/activity_pub.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index bff3025ed..98639883e 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -310,7 +310,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ true) do user = User.get_cached_by_ap_id(actor) - to = object.data["to"] || [] ++ object.data["cc"] || + to = + object.data["to"] || [] ++ object.data["cc"] || [] ++ [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] data = %{ -- cgit v1.2.3 From 28d5b40d0afddaca6797e2b72c2e89624e68f967 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Tue, 5 Mar 2019 23:15:22 +0100 Subject: Add handling of objects not in database --- lib/pleroma/web/activity_pub/activity_pub.ex | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 98639883e..7e7a43c55 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -311,8 +311,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do 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"] + case Object.get_cached_by_ap_id(id) do + nil -> + [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] + + object -> + object.data["to"] || [] ++ object.data["cc"] || + [] ++ [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] + end data = %{ "type" => "Delete", -- cgit v1.2.3 From 6a69ece437e4c2b503b8ec8cd5de2a4a63519f02 Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Thu, 7 Mar 2019 11:53:15 +0100 Subject: Revert existing object check --- lib/pleroma/web/activity_pub/activity_pub.ex | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 7e7a43c55..98639883e 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -311,14 +311,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do user = User.get_cached_by_ap_id(actor) to = - case Object.get_cached_by_ap_id(id) do - nil -> - [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] - - object -> - object.data["to"] || [] ++ object.data["cc"] || - [] ++ [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] - end + object.data["to"] || [] ++ object.data["cc"] || + [] ++ [user.follower_address, "https://www.w3.org/ns/activitystreams#Public"] data = %{ "type" => "Delete", -- cgit v1.2.3 From c2faae70dfc138efbeb3edccf97c22c2546a665a Mon Sep 17 00:00:00 2001 From: Karen Konou Date: Thu, 7 Mar 2019 12:26:03 +0100 Subject: Adjust delete activity audience to match the deleted object --- lib/pleroma/web/activity_pub/activity_pub.ex | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 98639883e..adb42b9ab 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -309,16 +309,13 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do def delete(%Object{data: %{"id" => id, "actor" => actor}} = object, local \\ true) do 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"] + to = object.data["to"] || [] ++ object.data["cc"] || [] data = %{ "type" => "Delete", "actor" => actor, "object" => id, - "to" => Enum.uniq(to) + "to" => to } with {:ok, _} <- Object.delete(object), -- cgit v1.2.3