Fix private post card handling.

This commit is contained in:
lain 2019-02-22 12:02:51 +01:00
commit 62296f5a25
3 changed files with 15 additions and 3 deletions

View file

@ -943,7 +943,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
def visible_for_user?(activity, user) do
x = [user.ap_id | user.following]
y = activity.data["to"] ++ (activity.data["cc"] || [])
y = [activity.actor] ++ activity.data["to"] ++ (activity.data["cc"] || [])
visible_for_user?(activity, nil) || Enum.any?(x, &(&1 in y))
end

View file

@ -1518,9 +1518,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
end
end
def status_card(conn, %{"id" => status_id}) do
def status_card(%{assigns: %{user: user}} = conn, %{"id" => status_id}) do
with %Activity{} = activity <- Repo.get(Activity, status_id),
true <- ActivityPub.is_public?(activity) do
true <- ActivityPub.visible_for_user?(activity, user) do
data =
StatusView.render(
"card.json",