バグ #1226
未完了同一URLに対してmodel_of_uriで複数のModel Classが取得できる場合に、引用で表示する方法の選択。
説明
https://github.com/cobodo/mikutter-twitter-card
このプラグインを使うと、すべてのOpenGraphProtocol対応サイトを引用で表示しますが、mastodonもOGPに対応しており、worldonとtwitter-cardの両プラグインを入れた状態で、 topic/1219-quoted-tweet ブランチを使うと、tootのURLに対しては両方のModelが候補に上がります。
すると(ロード順の関係で)model_of_uriフィルタで先に取得できるのはtwitter-cardの方になり、tootがカスタム絵文字を含むものであっても、OGPにはカスタム絵文字の情報がないために展開できません。
添付のパッチを(topic/1219-quoted-tweetへ)当てるとすべてを表示するようになりますが、もちろん重いです。
一般論として、こういった汎用的なプラグイン(twitter-card)と、目的特化プラグイン(worldon)とでは、常に後者が選ばれてほしくて、特化した表示方法があるのであれば汎用的な表示は必要ないのではないかと思います。
何らかの方法で優先順位が付けられるといいかなと思いました。Scoreとも関連しそうな話ですが……
ファイル
関連するチケット
toshi_a 初音 さんが6年以上前に更新
- トラッカー を 機能 から バグ に変更
- ステータス を 新規 から 実装待ち に変更
- 対象バージョン を 3.6 から 3.9 に変更
- 開始日 を削除 (
2018-05-05) - クラッシュする を いいえ にセット
なんてプラグインだ、たまげたなあ
確かに、汎用的なものの優先順位を下げて、Worldonのほうを選んでほしいという、どこかで聞いたような話が出てきますね。
subparts_quoteの速度最適化の一環として、Note#referenceが何らかのModelを指していれば、model_of_uriフィルタを使わずそのModelを使うというのを計画していました。TwitterのMessageにツイートのパーマリンクが含まれる場合にはうまく機能しますが、Worldをまたぐと結局効果がないので、よく考える必要がありそうです。