[#2301] Quick fix: users with is_discoverable == false (default!) are included in...
authorIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 19 Nov 2020 15:08:22 +0000 (18:08 +0300)
committerIvan Tashkinov <ivantashkinov@gmail.com>
Thu, 19 Nov 2020 15:08:22 +0000 (18:08 +0300)
lib/pleroma/user/search.ex
test/pleroma/user_search_test.exs

index 2dab672112b9636c1e62fda0beb630f37d162216..b54111090596e717d69e30082cbc5ed76f36911c 100644 (file)
@@ -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.is_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
index 31d787ffa0ed35e2ef817c99956a2ee1d5241e7d..d5ab5a0035c875407a508b2aa7a48ae0da0e63d0 100644 (file)
@@ -65,12 +65,13 @@ defmodule Pleroma.UserSearchTest do
       assert found_user.id == user.id
     end
 
-    test "excludes users when discoverable is false" do
+    # NOTE: as long as users are non-discoverable by default, we can't filter out most users: #2301
+    test "does NOT exclude non-discoverable users from results (as long as it's the default)" do
       insert(:user, %{nickname: "john 3000", is_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