diff options
author | Maxim Filippov <colixer@gmail.com> | 2019-10-10 03:33:55 +0300 |
---|---|---|
committer | Maxim Filippov <colixer@gmail.com> | 2019-10-10 03:33:55 +0300 |
commit | 24eecc3cb4a35376124b1fc792183d8b8dd0a9cc (patch) | |
tree | eac6f8b374bab49869de8bd0496e09938c9a65fa /lib | |
parent | aa7fd616c7cfeb84551af2170886856a815dc498 (diff) | |
parent | 9fd5176c35d21846fb8368ea7bc0285f9cd74ad4 (diff) | |
download | pleroma-24eecc3cb4a35376124b1fc792183d8b8dd0a9cc.tar.gz |
Merge branch 'develop' into feature/reports-groups-and-multiple-state-update
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mix/tasks/pleroma/count_statuses.ex | 22 | ||||
-rw-r--r-- | lib/pleroma/web/activity_pub/activity_pub.ex | 4 | ||||
-rw-r--r-- | lib/pleroma/web/mastodon_api/controllers/status_controller.ex | 6 |
3 files changed, 29 insertions, 3 deletions
diff --git a/lib/mix/tasks/pleroma/count_statuses.ex b/lib/mix/tasks/pleroma/count_statuses.ex new file mode 100644 index 000000000..e1e8195dd --- /dev/null +++ b/lib/mix/tasks/pleroma/count_statuses.ex @@ -0,0 +1,22 @@ +defmodule Mix.Tasks.Pleroma.CountStatuses do + @shortdoc "Re-counts statuses for all users" + + use Mix.Task + alias Pleroma.User + import Ecto.Query + + def run([]) do + Mix.Pleroma.start_pleroma() + + stream = + User + |> where(local: true) + |> Pleroma.Repo.stream() + + Pleroma.Repo.transaction(fn -> + Enum.each(stream, &User.update_note_count/1) + end) + + Mix.Pleroma.shell_info("Done") + end +end diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index 5052d1304..9f29087df 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -780,8 +780,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do defp restrict_replies(query, %{"exclude_replies" => val}) when val == "true" or val == "1" do from( - activity in query, - where: fragment("?->'object'->>'inReplyTo' is null", activity.data) + [_activity, object] in query, + where: fragment("?->>'inReplyTo' is null", object.data) ) end diff --git a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex index 0c16e9b0f..e5d016f63 100644 --- a/lib/pleroma/web/mastodon_api/controllers/status_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/status_controller.ex @@ -167,7 +167,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusController do def show(%{assigns: %{user: user}} = conn, %{"id" => id}) do with %Activity{} = activity <- Activity.get_by_id_with_object(id), true <- Visibility.visible_for_user?(activity, user) do - try_render(conn, "show.json", activity: activity, for: user) + try_render(conn, "show.json", + activity: activity, + for: user, + with_direct_conversation_id: true + ) end end |