diff options
author | Ivan Tashkinov <ivantashkinov@gmail.com> | 2020-11-19 18:08:22 +0300 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-12-22 21:16:37 +0100 |
commit | 5cfa32cb50f211d5bffdaa21a0cc705a0bf640ce (patch) | |
tree | eb0f3445847c9c4387c82903a6f25e77588b2360 | |
parent | 897b62091bd9f5ee9a98a49defd2b6591fb53fc7 (diff) | |
download | pleroma-5cfa32cb50f211d5bffdaa21a0cc705a0bf640ce.tar.gz |
[#2301] Quick fix: users with is_discoverable == false (default!) are included in search results.
-rw-r--r-- | lib/pleroma/user/search.ex | 8 | ||||
-rw-r--r-- | test/pleroma/user_search_test.exs | 5 |
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 |