Skip to content
Snippets Groups Projects
Commit 5e17e041 authored by lain's avatar lain
Browse files

Make user timelines faster for users with few statuses.

parent 9cda5b89
No related branches found
No related tags found
No related merge requests found
......@@ -112,7 +112,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
defp restrict_actor(query, %{"actor_id" => actor_id}) do
from activity in query,
where: fragment("? @> ?", activity.data, ^%{actor: actor_id})
where: fragment("?->>'actor' = ?", activity.data, ^actor_id)
end
defp restrict_actor(query, _), do: query
......
......@@ -19,7 +19,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
def feed(conn, %{"nickname" => nickname}) do
user = User.get_cached_by_nickname(nickname)
query = from activity in Activity,
where: fragment("? @> ?", activity.data, ^%{actor: user.ap_id}),
where: fragment("?->>'actor' = ?", activity.data, ^user.ap_id),
limit: 20,
order_by: [desc: :inserted_at]
......
defmodule Pleroma.Repo.Migrations.AddActorIndexToActivity do
use Ecto.Migration
def change do
create index(:activities, ["(data->>'actor')", "inserted_at desc"], name: :activities_actor_index)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment