logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 4cc71aad654201e3c3ad483b2be6e1d26a9c6df6
parent: fdc9ac88976c229288052cd66cda6b37e3887200
Author: rinpatch <rinpatch@sdf.org>
Date:   Tue, 12 May 2020 16:44:58 +0000

Merge branch '1748-remote-following-follower-count' into 'develop'

Transmogrifier: On incoming follow accept, update follow counts.

Closes #1748

See merge request pleroma/pleroma!2515

Diffstat:

Mlib/pleroma/web/activity_pub/transmogrifier.ex6+++++-
Mtest/web/activity_pub/transmogrifier_test.exs6++++++
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex @@ -592,6 +592,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", @@ -601,7 +604,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 @@ -833,6 +833,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