Merge branch '1808-pleroma-sucks' into 'develop'

Resolve "Don't fail message ingestions when we can't update a user"

Closes #1808

See merge request pleroma/pleroma!2576
This commit is contained in:
rinpatch 2020-05-26 15:57:01 +00:00
commit 3601c0015c
4 changed files with 64 additions and 6 deletions

View file

@ -1618,12 +1618,19 @@ defmodule Pleroma.User do
def fetch_by_ap_id(ap_id), do: ActivityPub.make_user_from_ap_id(ap_id)
def get_or_fetch_by_ap_id(ap_id) do
user = get_cached_by_ap_id(ap_id)
cached_user = get_cached_by_ap_id(ap_id)
if !is_nil(user) and !needs_update?(user) do
{:ok, user}
else
fetch_by_ap_id(ap_id)
maybe_fetched_user = needs_update?(cached_user) && fetch_by_ap_id(ap_id)
case {cached_user, maybe_fetched_user} do
{_, {:ok, %User{} = user}} ->
{:ok, user}
{%User{} = user, _} ->
{:ok, user}
_ ->
{:error, :not_found}
end
end