summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-11-19 18:08:22 +0300
committerlain <lain@soykaf.club>2020-12-22 21:16:37 +0100
commit5cfa32cb50f211d5bffdaa21a0cc705a0bf640ce (patch)
treeeb0f3445847c9c4387c82903a6f25e77588b2360
parent897b62091bd9f5ee9a98a49defd2b6591fb53fc7 (diff)
[#2301] Quick fix: users with is_discoverable == false (default!) are included in search results.
-rw-r--r--lib/pleroma/user/search.ex8
-rw-r--r--test/pleroma/user_search_test.exs5
2 files changed, 8 insertions, 5 deletions
diff --git a/lib/pleroma/user/search.ex b/lib/pleroma/user/search.ex
index 35a828008..b54111090 100644
--- a/lib/pleroma/user/search.ex
+++ b/lib/pleroma/user/search.ex
@@ -85,7 +85,7 @@ defmodule Pleroma.User.Search do
|> base_query(following)
|> filter_blocked_user(for_user)
|> filter_invisible_users()
- |> filter_discoverable_users()
+ |> filter_non_discoverable_users()
|> filter_internal_users()
|> filter_blocked_domains(for_user)
|> fts_search(query_string)
@@ -163,8 +163,10 @@ defmodule Pleroma.User.Search do
from(q in query, where: q.invisible == false)
end
- defp filter_discoverable_users(query) do
- from(q in query, where: q.discoverable == true)
+ defp filter_non_discoverable_users(query) do
+ # Note: commented out — can't do it with users being non-discoverable by default
+ # from(q in query, where: q.is_discoverable == true)
+ query
end
defp filter_internal_users(query) do
diff --git a/test/pleroma/user_search_test.exs b/test/pleroma/user_search_test.exs
index c4b805005..42f3f78a8 100644
--- a/test/pleroma/user_search_test.exs
+++ b/test/pleroma/user_search_test.exs
@@ -65,12 +65,13 @@ defmodule Pleroma.UserSearchTest do
assert found_user.id == user.id
end
- test "excludes users when discoverable is false" do
+ test "does NOT exclude non-discoverable users from results (as long as it's the default)" do
+ # NOTE: as long as users are non-discoverable by default, we can't filter out most users: #2301
insert(:user, %{nickname: "john 3000", discoverable: false})
insert(:user, %{nickname: "john 3001"})
users = User.search("john")
- assert Enum.count(users) == 1
+ assert Enum.count(users) == 2
end
test "excludes service actors from results" do