Merge branch 'prod-loglevel-warn' into 'develop'
authorlain <lain@soykaf.club>
Sat, 8 Jun 2019 16:05:10 +0000 (16:05 +0000)
committerlain <lain@soykaf.club>
Sat, 8 Jun 2019 16:05:10 +0000 (16:05 +0000)
Set default loglevel to `warn` in prod

Closes #962

See merge request pleroma/pleroma!1260

lib/pleroma/emoji.ex
lib/pleroma/web/activity_pub/transmogrifier.ex
test/web/activity_pub/transmogrifier_test.exs

index de7fcc1ce0c4f4412038291f740b729327ee794d..b77b26f7f375e8d148825fc9749c993c682e1abe 100644 (file)
@@ -98,7 +98,9 @@ defmodule Pleroma.Emoji do
         Logger.error("Could not access the custom emoji directory #{emoji_dir_path}: #{e}")
 
       {:ok, results} ->
-        grouped = Enum.group_by(results, &File.dir?/1)
+        grouped =
+          Enum.group_by(results, fn file -> File.dir?(Path.join(emoji_dir_path, file)) end)
+
         packs = grouped[true] || []
         files = grouped[false] || []
 
index ff031a16ee8f2ad2ac6e8ecf6b87d1fc3049cc14..3bb8b40b5c0284024ba2558950e1fee312ac965b 100644 (file)
@@ -339,7 +339,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
   def fix_type(%{"inReplyTo" => reply_id} = object) when is_binary(reply_id) do
     reply = Object.normalize(reply_id)
 
-    if reply.data["type"] == "Question" and object["name"] do
+    if reply && (reply.data["type"] == "Question" and object["name"]) do
       Map.put(object, "type", "Answer")
     else
       object
index 28971ae450d69ad182721ac02f2457abc297bea9..cc17814036ffa742720553e1dfe36d6f008ef093 100644 (file)
@@ -60,6 +60,22 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       assert returned_object.data["inReplyToAtomUri"] == "https://shitposter.club/notice/2827873"
     end
 
+    test "it does not crash if the object in inReplyTo can't be fetched" do
+      data =
+        File.read!("test/fixtures/mastodon-post-activity.json")
+        |> Poison.decode!()
+
+      object =
+        data["object"]
+        |> Map.put("inReplyTo", "https://404.site/whatever")
+
+      data =
+        data
+        |> Map.put("object", object)
+
+      {:ok, _returned_activity} = Transmogrifier.handle_incoming(data)
+    end
+
     test "it works for incoming notices" do
       data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()