Selaa lähdekoodia

Merge branch 'feature/ingest-blurhash' into 'develop'

Ingest blurhash for attachments if they were federated

Closes #2294

See merge request pleroma/pleroma!3133
2298-weird-follow-issue
feld 3 vuotta sitten
vanhempi
commit
ccec59047b
7 muutettua tiedostoa jossa 14 lisäystä ja 4 poistoa
  1. +2
    -1
      lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex
  2. +1
    -0
      lib/pleroma/web/activity_pub/transmogrifier.ex
  3. +2
    -1
      lib/pleroma/web/mastodon_api/views/status_view.ex
  4. +3
    -1
      test/pleroma/web/activity_pub/object_validators/attachment_validator_test.exs
  5. +1
    -0
      test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs
  6. +2
    -0
      test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs
  7. +3
    -1
      test/pleroma/web/mastodon_api/views/status_view_test.exs

+ 2
- 1
lib/pleroma/web/activity_pub/object_validators/attachment_validator.ex Näytä tiedosto

@@ -15,6 +15,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do
field(:type, :string)
field(:mediaType, :string, default: "application/octet-stream")
field(:name, :string)
field(:blurhash, :string)

embeds_many :url, UrlObjectValidator, primary_key: false do
field(:type, :string)
@@ -41,7 +42,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidator do
|> fix_url()

struct
|> cast(data, [:type, :mediaType, :name])
|> cast(data, [:type, :mediaType, :name, :blurhash])
|> cast_embed(:url, with: &url_changeset/2)
|> validate_inclusion(:type, ~w[Link Document Audio Image Video])
|> validate_required([:type, :mediaType, :url])


+ 1
- 0
lib/pleroma/web/activity_pub/transmogrifier.ex Näytä tiedosto

@@ -252,6 +252,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
}
|> Maps.put_if_present("mediaType", media_type)
|> Maps.put_if_present("name", data["name"])
|> Maps.put_if_present("blurhash", data["blurhash"])
else
nil
end


+ 2
- 1
lib/pleroma/web/mastodon_api/views/status_view.ex Näytä tiedosto

@@ -435,7 +435,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
text_url: href,
type: type,
description: attachment["name"],
pleroma: %{mime_type: media_type}
pleroma: %{mime_type: media_type},
blurhash: attachment["blurhash"]
}
end



+ 3
- 1
test/pleroma/web/activity_pub/object_validators/attachment_validator_test.exs Näytä tiedosto

@@ -33,7 +33,8 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidatorTest do
"http://mastodon.example.org/system/media_attachments/files/000/000/002/original/334ce029e7bfb920.jpg",
"type" => "Document",
"name" => nil,
"mediaType" => "image/jpeg"
"mediaType" => "image/jpeg",
"blurhash" => "UD9jJz~VSbR#xT$~%KtQX9R,WAs9RjWBs:of"
}

{:ok, attachment} =
@@ -50,6 +51,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AttachmentValidatorTest do
] = attachment.url

assert attachment.mediaType == "image/jpeg"
assert attachment.blurhash == "UD9jJz~VSbR#xT$~%KtQX9R,WAs9RjWBs:of"
end

test "it handles our own uploads" do


+ 1
- 0
test/pleroma/web/activity_pub/transmogrifier/audio_handling_test.exs Näytä tiedosto

@@ -69,6 +69,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AudioHandlingTest do
"mediaType" => "audio/ogg",
"type" => "Link",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>


+ 2
- 0
test/pleroma/web/activity_pub/transmogrifier/video_handling_test.exs Näytä tiedosto

@@ -54,6 +54,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do
"type" => "Link",
"mediaType" => "video/mp4",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>
@@ -76,6 +77,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.VideoHandlingTest do
"type" => "Link",
"mediaType" => "video/mp4",
"name" => nil,
"blurhash" => nil,
"url" => [
%{
"href" =>


+ 3
- 1
test/pleroma/web/mastodon_api/views/status_view_test.exs Näytä tiedosto

@@ -420,6 +420,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
"href" => "someurl"
}
],
"blurhash" => "UJJ8X[xYW,%Jtq%NNFbXB5j]IVM|9GV=WHRn",
"uuid" => 6
}

@@ -431,7 +432,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
preview_url: "someurl",
text_url: "someurl",
description: nil,
pleroma: %{mime_type: "image/png"}
pleroma: %{mime_type: "image/png"},
blurhash: "UJJ8X[xYW,%Jtq%NNFbXB5j]IVM|9GV=WHRn"
}

api_spec = Pleroma.Web.ApiSpec.spec()


Loading…
Peruuta
Tallenna