Page MenuHomePhorge

No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None
diff --git a/changelog.d/user-query-is-active.fix b/changelog.d/user-query-is-active.fix
new file mode 100644
index 000000000..8f28d8a0e
--- /dev/null
+++ b/changelog.d/user-query-is-active.fix
@@ -0,0 +1 @@
+Fix deactivated users being counted in followers collections and getting admin emails, because User.Query ignored the is_active key
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index a8e08e335..c0566c63d 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1476,7 +1476,7 @@ defmodule Pleroma.User do
|> where([u], not u.hide_follows)
|> select([u], u.id)
- User.Query.build(%{is_active: true})
+ User.Query.build(%{deactivated: false})
|> where([u], u.id not in ^[user.id, current_user.id])
|> join(:inner, [u], r in FollowingRelationship,
as: :followers_relationships,
diff --git a/test/pleroma/user_test.exs b/test/pleroma/user_test.exs
index 86e873037..32d582b50 100644
--- a/test/pleroma/user_test.exs
+++ b/test/pleroma/user_test.exs
@@ -3009,6 +3009,18 @@ defmodule Pleroma.UserTest do
assert [%{id: ^id2}] = User.get_familiar_followers(user3, user1)
end
+
+ test "does not return deactivated users" do
+ user1 = insert(:user)
+ user2 = insert(:user)
+ user3 = insert(:user)
+
+ User.follow(user1, user2)
+ User.follow(user2, user3)
+ {:ok, _} = User.set_activation(user2, false)
+
+ assert [] = User.get_familiar_followers(user3, user1)
+ end
end
describe "account endorsements" do

File Metadata

Mime Type
text/x-diff
Expires
Thu, Oct 29, 7:59 AM (16 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1797751
Default Alt Text
(1 KB)

Event Timeline