diff --git a/lib/pleroma/search/meilisearch.ex b/lib/pleroma/search/meilisearch.ex index 8fcf9310a..a94cdf80f 100644 --- a/lib/pleroma/search/meilisearch.ex +++ b/lib/pleroma/search/meilisearch.ex @@ -90,7 +90,7 @@ def search(user, query, options \\ []) do hits = result["hits"] |> Enum.map(& &1["ap"]) try do - hits + fetched = hits |> Activity.create_by_object_ap_id() |> Activity.with_preloaded_object() |> Activity.with_preloaded_object() @@ -99,8 +99,13 @@ def search(user, query, options \\ []) do |> maybe_restrict_author(author) |> maybe_restrict_blocked(user) |> maybe_fetch(user, query) - |> order_by([object: obj], desc: obj.data["published"]) + # |> order_by([object: obj], desc: obj.data["published"]) |> Pleroma.Repo.all() + + for hit <- hits do + Enum.find(fetched, fn object -> object.data["object"] == hit end) + end + rescue _ -> maybe_fetch([], user, query) end