diff options
author | lain <lain@soykaf.club> | 2019-01-07 12:41:31 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-01-07 12:41:31 +0100 |
commit | 7382adf407301945e30ee38aa4efe28a819fcf44 (patch) | |
tree | 6097b4ed0f492ddb956787f8a0e3d9ed26bbea02 /lib/pleroma/web | |
parent | b0e8e521fbbae4f601c6d2f449ea0e3effe57932 (diff) | |
download | pleroma-7382adf407301945e30ee38aa4efe28a819fcf44.tar.gz |
Make TwAPI UserView more resilient to issues.
Will work for missing users and badly migrated users.
Diffstat (limited to 'lib/pleroma/web')
-rw-r--r-- | lib/pleroma/web/twitter_api/views/activity_view.ex | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex index ad0cc76ed..0bae3d06f 100644 --- a/lib/pleroma/web/twitter_api/views/activity_view.ex +++ b/lib/pleroma/web/twitter_api/views/activity_view.ex @@ -94,11 +94,25 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do ap_id == "https://www.w3.org/ns/activitystreams#Public" -> nil + user = User.get_cached_by_ap_id(ap_id) -> + user + + user = User.get_by_guessed_nickname(ap_id) -> + user + true -> - User.get_cached_by_ap_id(ap_id) + error_user() end end + defp error_user do + %User{ + info: %User.Info{}, + nickname: "erroruser@example.com", + inserted_at: NaiveDateTime.utc_now() + } + end + def render("index.json", opts) do context_ids = collect_context_ids(opts.activities) users = collect_users(opts.activities) |