oEmbed가 리치 HTML 임베드의 크기를 지정하는 경우 잘못된 비율의 원박스 이미지

크기 정보는 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개의 좋아요