Merge remote-tracking branch 'remotes/origin/develop' into 2168-media-preview-proxy
[akkoma] / lib / pleroma / web / activity_pub / object_validators / attachment_validator.ex
index 16ed4905182fba55d54ac94d700118db052e154e..f53bb02bec8d3261ec76e00cf1948b4907fb5c9e 100644 (file)
@@ -12,7 +12,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do
   @primary_key false
   embedded_schema do
     field(:type, :string)
-    field(:mediaType, :string)
+    field(:mediaType, :string, default: "application/octet-stream")
     field(:name, :string)
 
     embeds_many(:url, UrlObjectValidator)
@@ -41,8 +41,16 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do
   end
 
   def fix_media_type(data) do
-    data
-    |> Map.put_new("mediaType", data["mimeType"])
+    data =
+      data
+      |> Map.put_new("mediaType", data["mimeType"])
+
+    if MIME.valid?(data["mediaType"]) do
+      data
+    else
+      data
+      |> Map.put("mediaType", "application/octet-stream")
+    end
   end
 
   def fix_url(data) do