commit: ff7afe46b9b08fc59ea1451add167f0856d15dbf
parent d2099c849d355a9b8d3b1f2e0342dfe3c7e3497c
Author: lain <lain@soykaf.club>
Date:   Tue, 27 Mar 2018 17:43:08 +0200
Don't try to fetch OP if none is there.
Diffstat:
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -73,7 +73,11 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
     created_at = Utils.to_masto_date(object["published"])
 
     # TODO: Add cached version.
-    reply_to = Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
+    reply_to = if object["inReplyTo"] && object["inReplyTo"] != "" do
+      Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])
+    else
+      nil
+    end
     reply_to_user = reply_to && User.get_cached_by_ap_id(reply_to.data["actor"])
 
     emojis = (activity.data["object"]["emoji"] || [])
diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs
@@ -54,6 +54,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
     assert status == expected
   end
 
+  test "a reply" do
+    note = insert(:note_activity)
+    user = insert(:user)
+    {:ok, activity} = CommonAPI.post(user, %{"status" => "he", "in_reply_to_status_id" => note.id})
+
+    assert activity.data["object"]["inReplyTo"] == note.data["object"]["id"]
+  end
+
   test "contains mentions" do
     incoming = File.read!("test/fixtures/incoming_reply_mastodon.xml")
     # a user with this ap id might be in the cache.