diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-05-27 13:51:13 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-06-11 22:15:53 +0000 |
commit | 76f80ba8c23798d69ecc6b89d6fd42a1d37adeed (patch) | |
tree | 1d79a67a228ce546e2038b4a0c7627d0fcf9c2e2 | |
parent | a2c4a5a75bc22653553fdf2f3ec25e2c9dd7c66a (diff) | |
download | pleroma-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.ex | 1 |
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 |