diff options
5 files changed, 10 insertions, 1 deletions
diff --git a/changelog.d/card-image-description.add b/changelog.d/card-image-description.add new file mode 100644 index 000000000..bf423ebb8 --- /dev/null +++ b/changelog.d/card-image-description.add @@ -0,0 +1 @@ +Include image description in status media cards
\ No newline at end of file diff --git a/lib/pleroma/web/api_spec/schemas/status.ex b/lib/pleroma/web/api_spec/schemas/status.ex index a4052803b..6e537b5da 100644 --- a/lib/pleroma/web/api_spec/schemas/status.ex +++ b/lib/pleroma/web/api_spec/schemas/status.ex @@ -58,6 +58,10 @@ defmodule Pleroma.Web.ApiSpec.Schemas.Status do              format: :uri,              description: "Preview thumbnail"            }, +          image_description: %Schema{ +            type: :string, +            description: "Alternate text that describes what is in the thumbnail" +          },            title: %Schema{type: :string, description: "Title of linked resource"},            description: %Schema{type: :string, description: "Description of preview"}          } diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index e464f60dc..5a24d73c7 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -589,6 +589,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do        provider_url: page_url_data.scheme <> "://" <> page_url_data.host,        url: page_url,        image: image_url, +      image_description: rich_media["image:alt"] || "",        title: rich_media["title"] || "",        description: rich_media["description"] || "",        pleroma: %{ diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs index 3d8a0fa99..b8eb2d598 100644 --- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs @@ -1717,6 +1717,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do        card_data = %{          "image" => "http://ia.media-imdb.com/images/rock.jpg", +        "image_description" => "",          "provider_name" => "example.com",          "provider_url" => "https://example.com",          "title" => "The Rock", @@ -1770,6 +1771,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do                 "title" => "Pleroma",                 "description" => "",                 "image" => nil, +               "image_description" => "",                 "provider_name" => "example.com",                 "provider_url" => "https://example.com",                 "url" => "https://example.com/ogp-missing-data", diff --git a/test/pleroma/web/mastodon_api/views/status_view_test.exs b/test/pleroma/web/mastodon_api/views/status_view_test.exs index f007bb317..163aa19ec 100644 --- a/test/pleroma/web/mastodon_api/views/status_view_test.exs +++ b/test/pleroma/web/mastodon_api/views/status_view_test.exs @@ -773,6 +773,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do        page_url = "http://example.com"        card = %{ +        "image:alt" => "Example image description",          url: page_url,          site_name: "Example site name",          title: "Example website", @@ -780,7 +781,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do          description: "Example description"        } -      %{provider_name: "example.com"} = +      %{provider_name: "example.com", image_description: "Example image description"} =          StatusView.render("card.json", %{page_url: page_url, rich_media: card})      end  | 
