機能: Fedibirdの「投稿の更新を自動反映する」のβ機能はリンクのリダイレクトの悪用回避

Mastodon/Fedibird

前回: 機能: Fedibirdの絵文字の拡大の設定・個別設定/ブーストのヘッダ非表示機能 | GNU social JP Web

Fedibirdでβ機能が投資されたので紹介します。以下の投稿群で発表されました。

avatar

ひさびさにβ機能の投入です。『ベータテストに参加する』を選んでいる人にだけメニューが表示されます。

ユーザー設定、その他、FEDIBIRDの機能、の中に『投稿の更新を自動反映する』という設定が追加されています。デフォルトはオフです。

Mastodonの投稿は基本的に受け取った時系列に流しますので、できるだけリアルタイム性を損なわないよう、時間のかかる処理については後回しにしています。

具体的には、リモートサーバにアクセスして生成するプレビューカードなどが該当します。YouTubeのリンクを貼ると動画が再生できるのもそれです。

この他、Fedibirdの実験的な取り組みで短縮URL……というかアクセス後にリダイレクトするリンクを結果への直接リンクに置き換える、という機能もあるんですが、これも後回しにする処理に該当します。

これらを、定期的にWebUIからチェックしにいって、処理が終わったら自動反映するようにする機能です。

RESTの応答にupdated_at、processingを追加し、バックグラウンド処理中の判断と、更新を検証するための最終処理日時が取得できるようになっています。また、更新されたものを取得するポーリング用のAPIがあります。

avatar

なおFedibirdでは、ローカルユーザーが投稿した場合、プレビューカードは遅延させずその場で生成するようになっています。

リダイレクトするリンクは、特にプレビューカードにおいて、プレビュー時と異なるリンク先に誘導する悪意あるものがでてきており、プレビュー時に解決したURLをそのまま保存してそちらに飛ばすようにしてあります。

通常のリンクにおいても、主に短縮URLがそうですが、実際の飛び先を事前判断できないこと、リダイレクト時にアクセス解析などが挟まることから、同様の処理を入れるようにしてあります。

X (formerly Twitter)で実際にありましたが、短縮URLの胴元による、リダイレクトの解決を遅延させるという嫌がらせまで仕込まれていたこともあります。

avatar

ベータ機能は自由にお試しいただいてOKですし、使ってフィードバックいただけると助かります。

ただし、ベータ機能としているのには理由があるわけで、まだ不安定(動作面でも仕様面でも)だったりするので、発生するリスクは承知の上で、おかしかったら戻すぐらいは自分で対処できるということを前提としています。よろしくお願いします。

avatar

ポーリングのAPIは、idとupdated_atを添えて要求すると、状態が新しくなっているものだけ応答してくれるもので、

リアルタイム反映の難しい絵文字リアクションの現在状態を引っ張ってくるなど、クライアントアプリでも便利に使える機能となっています。表示中の投稿だけ更新取得リクエストするなどの使い方ができるんじゃないかな。

Add status polling · fedibird/mastodon@b891925 · GitHub」のコミットでの発表です。

「投稿の更新を自動反映する」が搭載された機能です。プレビューカードなど時間のかかる処理を定期的に確認して反映するそうです。従来は、その場でプレビューカードを反映させていたものと、リダイレクトする場合などで、プレビューカードと違うサイトに飛ばしたり、リダイレクト時に遅延を仕込むなどの悪さを事前回避できるそうです。

ただ、β機能ということでいろいろ不安定とのことです。開発に協力したり、興味本位で使ってみるとよいかもしれません。

2023-12-23T00:30+09:00 Sat追記。直後に同様の機能追加があったのでこちらに記載しておきます。

avatar

ベータ機能に、最新投稿の更新をポーリングする機能を追加しました。

新規の投稿が流れてきた時、ブーストされてきた時、絵文字リアクションがつけられた時など、最後に投稿の状態が変化してから3分以内の投稿が画面に表示されている場合、それを監視します。

監視間隔はひとまず6秒になっています。何かあれば6秒に一回更新されます。

絵文字リアクションが次々とつけられている状況であれば、新しいリアクションがつかなくなるまで、しばらく監視が続くことになります。

ただし、スクロールして画面外に追い出されているものは除外します。

最新投稿を眺めている時、新規投稿にはまだ絵文字リアクションがついていませんが、数秒後にチェックすれば増えているので、それらを見逃しにくくなるかと思います。

興味のある人は試してみて下さい。ベータ機能なので、まずは『ベータテストに参加する』の設定が必要です。

ベータテストですので、具合が良くなければ本採用せずに廃止ということもありますし、仕様も確定していません。

なお、絵文字リアクションをリアルタイムで反映するストリーミングイベントも用意されてはいるのですが、非常に重い処理であるため、現在無効になっています。こっちも改良したいな……。

Comments

  1. This Article was mentioned on web.gnusocial.jp

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL