diff options
author | lain <lain@soykaf.club> | 2020-05-12 12:29:37 +0200 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2020-05-12 23:05:57 +0300 |
commit | ec5e05780292710a3454b21d32a1af053cb603e0 (patch) | |
tree | 2d9f3e411380b81a1ea28fecfb25c202dda3da08 | |
parent | b5b675fa14094ae13b78b3de137a9c6de83b3696 (diff) | |
download | pleroma-ec5e05780292710a3454b21d32a1af053cb603e0.tar.gz |
Transmogrifier: On incoming follow accept, update follow counts.
-rw-r--r-- | lib/pleroma/web/activity_pub/transmogrifier.ex | 6 | ||||
-rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex index 831739c5f..3fc4762d6 100644 --- a/lib/pleroma/web/activity_pub/transmogrifier.ex +++ b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -544,6 +544,9 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do {:ok, follow_activity} <- Utils.update_follow_state_for_all(follow_activity, "accept"), %User{local: true} = follower <- User.get_cached_by_ap_id(follow_activity.data["actor"]), {:ok, _relationship} <- FollowingRelationship.update(follower, followed, :follow_accept) do + User.update_follower_count(followed) + User.update_following_count(follower) + ActivityPub.accept(%{ to: follow_activity.data["to"], type: "Accept", @@ -553,7 +556,8 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do activity_id: id }) else - _e -> :error + _e -> + :error end end diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index 2a3fd92b4..601e5f966 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -1120,6 +1120,12 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do follower = User.get_cached_by_id(follower.id) assert User.following?(follower, followed) == true + + follower = User.get_by_id(follower.id) + assert follower.following_count == 1 + + followed = User.get_by_id(followed.id) + assert followed.follower_count == 1 end test "it fails for incoming accepts which cannot be correlated" do |