Merge branch 'streamer-crash-fix' into 'develop'
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>
Fri, 13 Aug 2021 15:42:12 +0000 (15:42 +0000)
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>
Fri, 13 Aug 2021 15:42:12 +0000 (15:42 +0000)
Streamer crash fix

See merge request pleroma/pleroma!3508

lib/pleroma/web/mastodon_api/views/status_view.ex

index da44e0a74a1918124f7e58b20e03e932a5d3963f..463f3419855f75d0c4960f09b43d9b3900c87abb 100644 (file)
@@ -65,11 +65,19 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
 
   defp get_context_id(_), do: nil
 
-  defp reblogged?(activity, user) do
-    object = Object.normalize(activity, fetch: false) || %{}
-    present?(user && user.ap_id in (object.data["announcements"] || []))
+  # Check if the user reblogged this status
+  defp reblogged?(activity, %User{ap_id: ap_id}) do
+    with %Object{data: %{"announcements" => announcements}} when is_list(announcements) <-
+           Object.normalize(activity, fetch: false) do
+      ap_id in announcements
+    else
+      _ -> false
+    end
   end
 
+  # False if the user is logged out
+  defp reblogged?(_activity, _user), do: false
+
   def render("index.json", opts) do
     reading_user = opts[:for]