mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 15:28:37 +08:00
FIX: Do not use SVGs for twitter:image metadata (#16973)
Twitter does not allow SVGs to be used for twitter:image metadata (see https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup) so we should fall back to the site logo if the image option provided to `crawlable_meta_data` or SiteSetting.site_twitter_summary_large_image_url is an SVG, and do not add the meta tag for twitter:image at all if the site logo is an SVG.
This commit is contained in:
@ -402,4 +402,16 @@ describe SiteSettings::Validations do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#twitter_summary_large_image" do
|
||||
it "does not allow SVG image files" do
|
||||
upload = Fabricate(:upload, url: '/images/logo-dark.svg', extension: "svg")
|
||||
expect { subject.validate_twitter_summary_large_image(upload.id) }.to raise_error(
|
||||
Discourse::InvalidParameters, I18n.t("errors.site_settings.twitter_summary_large_image_no_svg")
|
||||
)
|
||||
upload.update!(url: '/images/logo-dark.png', extension: 'png')
|
||||
expect { subject.validate_twitter_summary_large_image(upload.id) }.not_to raise_error
|
||||
expect { subject.validate_twitter_summary_large_image(nil) }.not_to raise_error
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user