Rich onebox が動作しなくなりました

私のウェブサイト用ワンボックスが、訪れている Discourse フォーラムで動作しなくなっていることに気づきました。以前は 1.8.x で動作していましたが、フォーラムが 1.9.3 に更新されて以降、ワンボックスが機能しなくなっています。try.discourse.org でも同様の現象が確認できました。ワンボックスの URL は以下のようになっています。

私のウェブサイトは、次のような oEmbed を返します。

{
  "version":"1.0",
  "type":"rich",
  "width":600,
  "height":400,
  "title":"metr",
  "html":"<iframe src=\"https://metr.at/r/CF1go?oembed=true\" width=\"600\" height=\"400\"
    frameborder=\"0\"></iframe>",
  "provider_name":"metr.at",
  "provider_url":"https://metr.at"
}

Onebox の GitHub におけるコミット履歴を確認したところ、407fd0b8d6d41956e2400efc1918ace255aecd37「セキュリティ: iframe をサンドボックス化、相対アンカーを絶対アンカーに変換」というコミットが見つかりました。

ワンボックスが iframe とセキュリティ設定によって失敗している可能性があるのでしょうか?何か対策はありますか?

I suspect that it is the iframe. Can you remove it?

I can not remove the iframe because the whole onebox is the iframe. If I remove it, there will be nothing left.

Discourse 1.8 uses onebox 1.8.12 and the commit you referenced was already part of that version. So, it must be something else. If your problem is caused by changes to the onebox gem, it should be one of the 79 commits: https://github.com/discourse/onebox/compare/e9164ee70186f87d2f2197de37a3a43f1274a060...master

iframely is totally happy by the way http://iframely.com/debug?uri=https%3A%2F%2Fmetr.at%2Fr%2FCF1go

I think I found the problem

https://github.com/discourse/discourse/commit/d6b22e6cc1b19a5279774fbe3a0138caca7918ea

do I understand right, the iframe will not be oneboxed unless whitelisted in the forum settings?

That’s exactly right :+1: