This account is not set to public on notestock.
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。
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.
@circledev #fedibird の投稿画面のサークル指定の仕方が少し変わりました。
公開範囲でCircleを選択してから、下に出てきたドロップダウンでサークルを選択します。
微妙に面倒くさいのですが、サークルを多数登録した場合に対応するための変更です。
組み込みのselectを使うようにしたので、スマートフォン等でも支障なく選べるかと思います。(格好良くはないですが)
#fedibird ハッシュタグタイムラインのストリーミングが無効になっていたリグレッションを修正しました。
存在しない、ローカル限定の方のWebSocketに接続しに行っていました。マージ(rebase)のミスですね……。
いやー、たいした進捗じゃないけど、4日間コードいじりまくったのは楽しかったなー。
いや、休みじゃなくても毎日いじってるけどさ。ノってくるタイミングを逃さずにやれちゃうの最高よね。
Mastodonの場合、タイムラインに含まれて、フィルターされていることが見える隠すタイプと、タイムラインから削除しちゃって見えないタイプがあるね。
ホームとリストは、各ユーザーが専用のタイムラインを持っているので、サーバ側でフィルターされる。
ローカルや連合は、WebUIやクライアント側でフィルターする必要があるカタチ。
@syuilo フィルターは力任せにrubyとjavascriptで正規表現だった気がするなー。
https://fedibird.com/@noellabo/104581565191216212
アカウント名とかタグ名の検索は、tsvectorとかtsqueryとかあれこれやってる。GINインデックスがなんちゃら。
これがアカウントに設定しているインデックスで、
CREATE INDEX search_index ON accounts USING gin((setweight(to_tsvector('simple', accounts.display_name), 'A') || setweight(to_tsvector('simple', accounts.username), 'B') || setweight(to_tsvector('simple', coalesce(accounts.domain, '')), 'C')));'
display_name、username、domainを、to_tsvectorで語にバラしたやつをインデックスしておくのかな。
で、検索するときに検索語からtsquery作ってselectって感じ。
あんまりよくわかってないw
Eugenさんが、Mastodonの公式ドキュメントを2件、新たに書いてくれたよ。
nginxでオブジェクトストレージをproxy
https://docs.joinmastodon.org/admin/optional/object-storage-proxy/
.env.productionの設定項目
https://docs.joinmastodon.org/admin/config/
Mastodon v3.2.0、タグリリースされましたね。
https://github.com/tootsuite/mastodon/releases/tag/v3.2.0
#fedibird は更新完了です。
v3.2.0rc2に更新済みのサーバは、慌てずにゆっくり対応してください。違いは1件だけで、ただちに問題のないものです。
※リストにユーザー追加する際、ぴったり一致するユーザー名を指定すると、フォローしていないユーザーが出てきてしまうバグ。追加しようとしてもエラーで蹴られる。
@silverscat_3 なぜか公式ドキュメントでは長らく環境変数名だけ列記してあって説明がついていなかったというw
元々.env.prodution.sampleってのがついてて、そこにコメントで概ね説明はされてたんだけど、古くなったので一度取り下げて、いまはスッキリさせて新しいものに置き換わっている。で、逆に網羅性なくなってよくわからなくなっていた。
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.
@syumari タイムアウトを早くしたり、リトライを早めにあきらめたりするようになったので、その分軽くなっているかもしれません。気のせいかもしれませんがw
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.
@popn_ja このへんのAccess-Control-Allow-Originとかですかねー。
https://docs.joinmastodon.org/admin/optional/object-storage-proxy/
@dansup @ProgrammerGenboo @dansup Yes! I was able to follow up from Mastodon without incident. Thanks!
Pixelfed垢です、よかったらフォローしてね
This account is not set to public on notestock.
This account is not set to public on notestock.
どっかのげんちゃん。に苦情殺到 「可愛い」
#苦情殺到のお知らせ #shindanmaker
https://shindanmaker.com/915270
多分それ間違い電話だね
Sidekiqのジョブの話をしておきましょう。
Sidekiqには、Mastodonのさまざまな役割を担うバックグラウンドジョブ=各種のワーカーが積まれて、順次それが処理されていきます。
v3.2.0では、ActivityPub::ProcessingWorkerというinboxの処理を行うワーカーの再試行回数と、WebFingerのタイムアウト時間を変更しました。
ActivityPub::ProcessingWorkerは、リモートのサーバから飛んでくる様々なActivityに対応するためのワーカーで、投稿や、ブースト、フォローリクエスト、削除など、ActivityPubプロトコルへの対応を行います。
この処理は、正当な相手から届いたかどうかHTTP署名を確認したり、画像を取得して変換したり、ブースト対象の投稿を取得したりする必要があって、相手方のサーバにアカウント情報と鍵・画像・投稿をとりに行くので、長く待たされたり、結構失敗したりします。
エラーが返される場合はいいのですが、相手が応答しない場合はしばらく待たなければならず、次の処理が行えずにつまることがあります。
ActivityPub::ProcessingWorkerは、sidekiqで定義されているデフォルトの25回、再試行を行っていました。最初はすぐに再試行し、徐々に間隔をあけて、相手が対応できるのを期待して待つ仕組みです。25回再試行すると、約20日と11時間粘ることになります。
これを、どうせそんなに頑張っても成功しないので、8回の再試行、約1時間半だけ頑張って、あきらめるようにしました。
また、応答を返してこない場合に1分以上待っていたところを、5秒で接続できなければあきらめるようにしました。正常なサーバは1〜2秒で十分なのですが、30秒待ってもまだ返事しない激遅サーバもあって、つらいところです。
これにより、sidekiqのデッドに、TimeoutであきらめたActivityPub::ProcessingWorkerが多数記録されると思います。手動で再試行できますが、恐らく成功することはないので、どのサーバのどのActivityが処理できなかったのか確認した上で、一時的なものは手動で再試行、他は削除するか無視してください。6ヶ月か9999デッドを越えると削除されます。
南インドのカレーはいいぞ
南インド料理を制する者はカレーを制する! いま話題の「南インド料理」を10年以上前からドハマリしている沼人が解説する #ソレドコ - ソレドコ https://srdk.rakuten.jp/entry/2020/07/27/103000
@estpls https://docs.joinmastodon.org/admin/optional/object-storage-proxy/
この設定にある、
proxy_hide_header 'Access-Control-Allow-Origin';
proxy_hide_header 'Access-Control-Allow-Methods';
proxy_hide_header 'Access-Control-Allow-Headers';
これがオブジェクトストレージ側のCORS関係のヘッダを隠すやつで、
add_header 'Access-Control-Allow-Origin' '*';
これが有効にするやつ。
このへんが設定できれてばOK。
v3.2.0rc2に更新済みのサーバは、慌てずにゆっくり対応してください。違いは1件だけで、ただちに問題のないものです。
※リストにユーザー追加する際、ぴったり一致するユーザー名を指定すると、フォローしていないユーザーが出てきてしまうバグ。追加しようとしてもエラーで蹴られる。
Eugenさんが、Mastodonの公式ドキュメントを2件、新たに書いてくれたよ。
nginxでオブジェクトストレージをproxy
https://docs.joinmastodon.org/admin/optional/object-storage-proxy/
.env.productionの設定項目
https://docs.joinmastodon.org/admin/config/
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.
issueにもあがってるけど、インデックスを張り替える際にaccountsテーブルの重複レコードが検出されて、マイグレーションに失敗する事例がでてるな……。
https://github.com/tootsuite/mastodon/issues/14443