projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '530_federator_user_info_overwrite_fix' into 'develop'
[akkoma]
/
lib
/
pleroma
/
web
/
mastodon_api
/
views
/
status_view.ex
diff --git
a/lib/pleroma/web/mastodon_api/views/status_view.ex
b/lib/pleroma/web/mastodon_api/views/status_view.ex
index db543ffe57a88e40479ee74ba981d694526a1c85..feabf54c6cd3ee88c740842ee49467db08dfeb8d 100644
(file)
--- a/
lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/
lib/pleroma/web/mastodon_api/views/status_view.ex
@@
-32,6
+32,19
@@
defmodule Pleroma.Web.MastodonAPI.StatusView do
end)
end
end)
end
+ defp get_user(ap_id) do
+ cond do
+ user = User.get_cached_by_ap_id(ap_id) ->
+ user
+
+ user = User.get_by_guessed_nickname(ap_id) ->
+ user
+
+ true ->
+ User.error_user(ap_id)
+ end
+ end
+
def render("index.json", opts) do
replied_to_activities = get_replied_to_activities(opts.activities)
def render("index.json", opts) do
replied_to_activities = get_replied_to_activities(opts.activities)
@@
-48,7
+61,7
@@
defmodule Pleroma.Web.MastodonAPI.StatusView do
"status.json",
%{activity: %{data: %{"type" => "Announce", "object" => object}} = activity} = opts
) do
"status.json",
%{activity: %{data: %{"type" => "Announce", "object" => object}} = activity} = opts
) do
- user =
User.get_cached_by_ap_id
(activity.data["actor"])
+ user =
get_user
(activity.data["actor"])
created_at = Utils.to_masto_date(activity.data["published"])
reblogged = Activity.get_create_activity_by_object_ap_id(object)
created_at = Utils.to_masto_date(activity.data["published"])
reblogged = Activity.get_create_activity_by_object_ap_id(object)
@@
-93,7
+106,7
@@
defmodule Pleroma.Web.MastodonAPI.StatusView do
end
def render("status.json", %{activity: %{data: %{"object" => object}} = activity} = opts) do
end
def render("status.json", %{activity: %{data: %{"object" => object}} = activity} = opts) do
- user =
User.get_cached_by_ap_id
(activity.data["actor"])
+ user =
get_user
(activity.data["actor"])
like_count = object["like_count"] || 0
announcement_count = object["announcement_count"] || 0
like_count = object["like_count"] || 0
announcement_count = object["announcement_count"] || 0
@@
-116,7
+129,7
@@
defmodule Pleroma.Web.MastodonAPI.StatusView do
created_at = Utils.to_masto_date(object["published"])
reply_to = get_reply_to(activity, opts)
created_at = Utils.to_masto_date(object["published"])
reply_to = get_reply_to(activity, opts)
- reply_to_user = reply_to &&
User.get_cached_by_ap_id
(reply_to.data["actor"])
+ reply_to_user = reply_to &&
get_user
(reply_to.data["actor"])
content =
object
content =
object
@@
-218,6
+231,9
@@
defmodule Pleroma.Web.MastodonAPI.StatusView do
Enum.any?(to, &String.contains?(&1, "/followers")) ->
"private"
Enum.any?(to, &String.contains?(&1, "/followers")) ->
"private"
+ length(cc) > 0 ->
+ "private"
+
true ->
"direct"
end
true ->
"direct"
end