尺寸来自 oembed:
https://hookproductivity.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fhookproductivity.com%2Fhelp%2Fintegration%2Fother-app-developers%2F
其中包含:
我认为这里的 bug 是,如果 type 是“rich”,并且我们没有从 oembed html payload 中获取完整的演示文稿,那么我们应该跳过添加尺寸,因为我们不关心这些数据。
这可以修复:
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
但我不知道这会有什么其他副作用,我将把这个问题标记给 member-experience 团队,他们将在下个月进行审查。
我不太愿意直接添加我的补丁,因为这里有很多层和复杂性,需要有人确保我们能够以非常安全和经过测试的方式添加补丁。
这是 pri-medium 级别的问题,因为鉴于 wp-json 会暴露此问题,此 bug 的影响相当广泛。
