ねむいひと、ねましょう
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。
This account is not set to public on notestock.
@takke Fedibirdはアカウント一括取得ありますので、場合分けするコードを厭わないならコール回数減らす最適化は可能です。ついでに投稿にも一括取得つけて、fedibird_capabilities足しておきましょう。
本家は……一応プルリクしてみましょうか。必要性(こういうニーズがある)は説明できますか?
@takke Fedibird、既に投稿も複数取得可能になってました(忘れてた)
?ids[]=1234&ids[]=1235&...
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
@takke 理由が明確ですね。こりゃ必要だわ。
今頃気が付きましたが、statusesの方がids[]で、accountsがrelationshipsにあわせてid[]なの不統一でキモイ……
@Mayanotopgun たぶんこれなんで、管理者に報告して対応を促してください。原因がわかれば対処できると思います。
https://fedibird.com/@noellabo/110044572079681316
今回の不具合はストリーミングサーバがイベントをよこさないことで、
ストリーミング対応のクライアントアプリではうまくいかず、未対応のアプリでは(ストリーミングサーバに頼らないので)更新がとれる、ということだろうと思います。 [参照]
This account is not set to public on notestock.
@antungame たぶん参照のfetchが終わった時にクライアントに知らせるやつです。絵文字の通知と同じく、過剰に通知してるところあるかと思います。
@Mayanotopgun Mastodonには、サーバに接続したままにして新着投稿などをリアルタイムに受け取る仕組みがあり、これをストリーミングと呼んでいます。
今回不具合があるのはこのストリーミングサーバです。
--
クライアントアプリは、通常の流れとして、最初にホームやローカルの投稿を最大40件取得するAPIを呼びだします。
タイムラインを遡る場合、また追加で続きの40件を受け取るAPIをコールして、継ぎ足していきます。
新着の投稿は、ポーリングといって、定期的に新しい投稿がないかAPI呼び出しして確認する方法、ユーザーが読み直しを指示するまで更新しない方法、ストリーミングサーバについないで取得する方法などがあり、クライアントによって異なります。
ストリーミングに対応しているアプリは、通常はストリーミングを主力で使います。APIでタイムラインを取得するより軽く、リアルタイム更新できるからです。
Whalebirdの他、たとえばtootleやiMast、SubwayTooterなどで問題が再現します。WebUI(ブラウザから)でも同様です。
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
@Mayanotopgun それでいいと思います。
あと、先に私が示したURLに、技術的な原因と対処方法を書いてあるので、それを添えていただけると話が早いかと思います。
いまね、Visual Studio Express 2013 for Webとかインストールしてるのよ。もう何にも覚えてないわ。
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.