#fedibird #fedibird_info ひさびさにβ機能の投入です。『ベータテストに参加する』を選んでいる人にだけメニューが表示されます。
ユーザー設定、その他、FEDIBIRDの機能、の中に『投稿の更新を自動反映する』という設定が追加されています。デフォルトはオフです。
Mastodonの投稿は基本的に受け取った時系列に流しますので、できるだけリアルタイム性を損なわないよう、時間のかかる処理については後回しにしています。
具体的には、リモートサーバにアクセスして生成するプレビューカードなどが該当します。YouTubeのリンクを貼ると動画が再生できるのもそれです。
この他、Fedibirdの実験的な取り組みで短縮URL……というかアクセス後にリダイレクトするリンクを結果への直接リンクに置き換える、という機能もあるんですが、これも後回しにする処理に該当します。
これらを、定期的にWebUIからチェックしにいって、処理が終わったら自動反映するようにする機能です。
RESTの応答にupdated_at、processingを追加し、バックグラウンド処理中の判断と、更新を検証するための最終処理日時が取得できるようになっています。また、更新されたものを取得するポーリング用のAPIがあります。
#fedibird #fedibird_info なおFedibirdでは、ローカルユーザーが投稿した場合、プレビューカードは遅延させずその場で生成するようになっています。
リダイレクトするリンクは、特にプレビューカードにおいて、プレビュー時と異なるリンク先に誘導する悪意あるものがでてきており、プレビュー時に解決したURLをそのまま保存してそちらに飛ばすようにしてあります。
通常のリンクにおいても、主に短縮URLがそうですが、実際の飛び先を事前判断できないこと、リダイレクト時にアクセス解析などが挟まることから、同様の処理を入れるようにしてあります。
X (formerly Twitter)で実際にありましたが、短縮URLの胴元による、リダイレクトの解決を遅延させるという嫌がらせまで仕込まれていたこともあります。
ポーリングのAPIは、idとupdated_atを添えて要求すると、状態が新しくなっているものだけ応答してくれるもので、
リアルタイム反映の難しい絵文字リアクションの現在状態を引っ張ってくるなど、クライアントアプリでも便利に使える機能となっています。表示中の投稿だけ更新取得リクエストするなどの使い方ができるんじゃないかな。