Twitter ネイティブ埋め込み

Redditも同じアプローチで買収されました。議論は本当に危険にさらされています*(ほとんどの場合、遅すぎるまで誰も耳を傾けません)*。

もちろん、Discourseはあります :slight_smile:

「いいね!」 1

これは機能です。編集中にiframeが複数回リクエストされるのを防ぐために、コンポーネントがコンポーズで有効になるのを許可しませんでした。

「いいね!」 6

これをインストールすると、スレッドに移動したときに、まず「最後の投稿」に移動し、次にTwitter埋め込み機能が読み込まれて、毎回数投稿分巻き戻されることに気づきました。

この問題の修正方法はありますか?

「いいね!」 2

まだ問題が発生しています…何も埋め込まれていませんが、すべて設定されているように見えます…何かアイデアはありますか?

「いいね!」 1

このテーマコンポーネントはTwitter APIを使用していないため、その側面で制限されることはありません。

「いいね!」 1

Twitterのoneboxは、このコミットにより変更が加えられました: FIX: Use Twitter API v2 for oneboxes and restore OpenGraph fallback (… · discourse/discourse@24c9053 · GitHub

テストインスタンスでこのテーマコンポーネントを試しましたが、メディアが表示されません:

これと関係がありますか?

「いいね!」 1

このテーマコンポーネントは、onebox が機能しない場合にのみ機能します。

「いいね!」 1

承知しました :+1:.

テストしたところ、onebox がうまく機能しない場合(メディアが表示されないなど)は、コンポーネントを機能させるために blocked onebox domainstwitter.com を追加する必要があるようです。:slight_smile:

以下から:

以下へ:

私はテーマコンポーネントを広く使用しておらず、この問題には遭遇しませんでしたが、推測するに、Discourse はコンテンツが読み込まれる前に Twitter iframe の高さを把握できないのだと思います。iframe が読み込まれると、その周りのコンテンツが押し出され、この動作が発生します。

動画をキャプチャしていただけますか?

「いいね!」 2

ツイートのワンボックスが再び機能し始め、このコンポーネントを上書きしています。今日、誰か気づきましたか?

約10時間前にアプリを再構築しました。現在のバージョンは3.1.0.beta5(09feb03056)です。

これが突然の元に戻ったことに関連している可能性があります。

実際、ツイートのワンボックスの動作はこちらの方が好きです。ツイートをワンボックス化しないように除外する方法はありますか?

設定ではallowed onebox iframesが見えますが、Twitterを除外するためだけにすべての可能なsrcをリストすることはできません。このようにワンボックスまたは少数を除外する方法はありますか?もしなければ、どうでしょうか?

そうでなければ、Twitter側で何かが再び変更された可能性があり、すべて偶然です。

他に気づいた人はいますか? @Lhc_fl

「いいね!」 1

@jancernik Twitterの最近のAPI変更に従って修正しました :raised_hands:

はい、その通りです。そのため、Discourseコアでは「公式」Twitter埋め込みを使用していません。iframeの読み込み時にトピックがジャンプする原因となるためです。

「いいね!」 4

あー、前の投稿を読んでおくべきだった! :melting_face:

「いいね!」 3

はい、ジャンプはトピックで非常に注目されていますが、正直なところ、ネイティブのTwitterスタイリングと、返信で親ツイートをキャプチャする方が好きです。

これにより、2つのTwitterリンクを投稿する手間が省けます。確かに、時には切り取られますが、コンポーネントの作成者には何も言いません。代替ソリューションに感謝しており、改善があればさらに良いです。

「いいね!」 3

まさにこうなると思っていました。何度かビルドで発生したように記憶しています Discourse jumps back 20 posts in post history when navigating to new topic

「いいね!」 1

ジャンプを最小限に抑える方法はありますか? 読み込まれたページに複数の Twitter リンクがある場合、非常に目立ち、迷惑です。プラグインのコードを見て、使用されている API を簡単に確認しましたが、コンテンツの高さを推定して blockquote 要素に高さを設定することでジャンプを軽減できるでしょうか、それともこれは非同期で呼び出される Twitter JavaScript のなすがままでしょうか? Discourse API に詳しくないので、レンダリングの順序などがわかりません。また、それを判断する時間がありません。

「いいね!」 1

このソリューションでは不十分だったので、少し追加します。

twitter consumer keytwitter consumer secret に何か(本当に何でもランダムで構いません)を追加する必要があります。

おそらく、古いAPIがまだ設定されていたのでしょう。

そうすれば、テーマコンポーネントが再び機能するはずです。

「いいね!」 2

そうは思わないのですが、Twitterは(curlで取得する結果でさえ)ソフトウェアの動作を非常に頻繁に変更しています。最近、このせいで異なる体験をしたとしても、驚きません。

「いいね!」 2

念のため確認ですが、コンシューマーキーを有効にして、ブロックされたワンボックスドメインにtwitter.comを設定したテーマコンポーネントを使用していますか?

私の記憶では、Twitterはoneboxのブロック済みドメインにあり、管理画面でTwitterの認証情報を使用していませんでした。
それ以来、コンポーネントを再度試していません。

最新の 3.6.0.beta6 アップデートで、twitter.com が設定の blocked_onebox_domains に含まれているにもかかわらず、Twitter の埋め込みが再び Onebox に戻ってしまいました。

oneboxドメインブロックはbeta5では十分だったので、最新のアップデートが何をしたにせよ、上記の追加のアドバイスはコンポーネントがツイートを再びレンダリングするようにするために機能しました。