aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-06-14 07:20:54 +0000
committerlambda <pleromagit@rogerbraun.net>2018-06-14 07:20:54 +0000
commit2723fb5150f54b30657dd7a0bfa88702bc857173 (patch)
tree6ef9aa6cee11a85831d0172cfa736ed0749b731d
parent8c7fdcb31b1255f91493b8f2e0f86dfbbfa2ac85 (diff)
parent401e8af9437f8a53540b93fc80d659c15f06e137 (diff)
downloadpleroma-2723fb5150f54b30657dd7a0bfa88702bc857173.tar.gz
Merge branch 'bugfix/mrf-orphaning' into 'develop'
activitypub transmogrifier: handle activity lookup failure Closes #156 See merge request pleroma/pleroma!216
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex21
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index f04f3c3c0..300e0fcdd 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -30,14 +30,19 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
when not is_nil(in_reply_to_id) do
case ActivityPub.fetch_object_from_id(in_reply_to_id) do
{:ok, replied_object} ->
- activity = Activity.get_create_activity_by_object_ap_id(replied_object.data["id"])
-
- object
- |> Map.put("inReplyTo", replied_object.data["id"])
- |> Map.put("inReplyToAtomUri", object["inReplyToAtomUri"] || in_reply_to_id)
- |> Map.put("inReplyToStatusId", activity.id)
- |> Map.put("conversation", replied_object.data["context"] || object["conversation"])
- |> Map.put("context", replied_object.data["context"] || object["conversation"])
+ with %Activity{} = activity <-
+ Activity.get_create_activity_by_object_ap_id(replied_object.data["id"]) do
+ object
+ |> Map.put("inReplyTo", replied_object.data["id"])
+ |> Map.put("inReplyToAtomUri", object["inReplyToAtomUri"] || in_reply_to_id)
+ |> Map.put("inReplyToStatusId", activity.id)
+ |> Map.put("conversation", replied_object.data["context"] || object["conversation"])
+ |> Map.put("context", replied_object.data["context"] || object["conversation"])
+ else
+ e ->
+ Logger.error("Couldn't fetch #{object["inReplyTo"]} #{inspect(e)}")
+ object
+ end
e ->
Logger.error("Couldn't fetch #{object["inReplyTo"]} #{inspect(e)}")