summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-12-09 17:55:48 +0000
committerrinpatch <rinpatch@sdf.org>2019-12-09 17:55:48 +0000
commit37c34ccec3983b1d52b4c0c3a0a9d915b3dac3ec (patch)
tree840f2773f54df7fc9f53feadcdddb4d7bbf992bc
parent632dab5d30c39f4831b77bea9249b91b1b7b3347 (diff)
parentf4b7f32d51f9d0bd721befdd33b49d2c52a6e231 (diff)
Merge branch 'fix/prefer-url-over-search' into 'develop'
status search: prefer the status fetched by url over other results See merge request pleroma/pleroma!2050
-rw-r--r--lib/pleroma/activity/search.ex2
-rw-r--r--test/web/mastodon_api/controllers/search_controller_test.exs9
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/pleroma/activity/search.ex b/lib/pleroma/activity/search.ex
index f847ac238..d30a5a6a5 100644
--- a/lib/pleroma/activity/search.ex
+++ b/lib/pleroma/activity/search.ex
@@ -86,7 +86,7 @@ defmodule Pleroma.Activity.Search do
{:ok, object} <- Fetcher.fetch_object_from_id(search_query),
%Activity{} = activity <- Activity.get_create_by_object_ap_id(object.data["id"]),
true <- Visibility.visible_for_user?(activity, user) do
- activities ++ [activity]
+ [activity | activities]
else
_ -> activities
end
diff --git a/test/web/mastodon_api/controllers/search_controller_test.exs b/test/web/mastodon_api/controllers/search_controller_test.exs
index 7953fad62..34deeba47 100644
--- a/test/web/mastodon_api/controllers/search_controller_test.exs
+++ b/test/web/mastodon_api/controllers/search_controller_test.exs
@@ -165,15 +165,20 @@ defmodule Pleroma.Web.MastodonAPI.SearchControllerTest do
assert status["id"] == to_string(activity.id)
end
- test "search fetches remote statuses", %{conn: conn} do
+ test "search fetches remote statuses and prefers them over other results", %{conn: conn} do
capture_log(fn ->
+ {:ok, %{id: activity_id}} =
+ CommonAPI.post(insert(:user), %{
+ "status" => "check out https://shitposter.club/notice/2827873"
+ })
+
conn =
conn
|> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"})
assert results = json_response(conn, 200)
- [status] = results["statuses"]
+ [status, %{"id" => ^activity_id}] = results["statuses"]
assert status["uri"] ==
"tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"