aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-05-27 13:51:13 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-06-11 22:15:53 +0000
commit76f80ba8c23798d69ecc6b89d6fd42a1d37adeed (patch)
tree1d79a67a228ce546e2038b4a0c7627d0fcf9c2e2
parenta2c4a5a75bc22653553fdf2f3ec25e2c9dd7c66a (diff)
downloadpleroma-76f80ba8c23798d69ecc6b89d6fd42a1d37adeed.tar.gz
activitypub: when unfollowing, update the follow activity's disposition to 'cancelled' so it cannot be reused
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 43e96fe37..3c2875548 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -214,6 +214,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
def unfollow(follower, followed, activity_id \\ nil, local \\ true) do
with %Activity{} = follow_activity <- fetch_latest_follow(follower, followed),
+ {:ok, follow_activity} <- update_follow_state(follow_activity, "cancelled"),
unfollow_data <- make_unfollow_data(follower, followed, follow_activity, activity_id),
{:ok, activity} <- insert(unfollow_data, local),
:ok <- maybe_federate(activity) do