Onebox 画像のアスペクト比が間違っています

oembed からディメンションを取得しています。

https://hookproductivity.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fhookproductivity.com%2Fhelp%2Fintegration%2Fother-app-developers%2F

これには以下が含まれます。

このバグは、type が “rich” で、oembed の html ペイロードからプレゼンテーション全体を取得していない場合に、ディメンションを追加しないようにする必要があると思います。なぜなら、このデータには興味がないからです。

これで修正されます。

diff --git a/lib/onebox/engine/standard_embed.rb b/lib/onebox/engine/standard_embed.rb
index e3175d6247..fc8c300d81 100644
--- a/lib/onebox/engine/standard_embed.rb
+++ b/lib/onebox/engine/standard_embed.rb
@@ -159,8 +159,9 @@ module Onebox
         @json_ld ||= Onebox::JsonLd.new(html_doc)
       end

-      def set_from_normalizer_data(normalizer)
+      def set_from_normalizer_data(normalizer, skip_dimensions: false)
         normalizer.data.each do |k, _|
+          next if skip_dimensions && k.in?(%i[width height])
           v = normalizer.public_send(k)
           @raw[k] ||= v unless v.nil?
         end
@@ -179,7 +180,8 @@ module Onebox

       def set_oembed_data_on_raw
         oembed = get_oembed
-        set_from_normalizer_data(oembed)
+        skip_dimensions = oembed.data[:type] == "rich"
+        set_from_normalizer_data(oembed, skip_dimensions:)
       end

       def set_json_ld_data_on_raw

しかし、他にどのような副作用があるかはわかりません。メンバーエクスペリエンスチームにフラグを立て、来月中に確認してもらう予定です。

多くのレイヤーと複雑さが存在するため、パッチを単純に追加することにはためらっています。誰かが、非常に安全でテストされた方法でパッチを追加できることを保証する必要があります。


wp-json がこれを表面化するため、このバグの影響はかなり広範囲に及ぶため、これは pri-medium です。

「いいね!」 1