作成者別アーカイブ: えど

【Mastodon】ブーストされたトゥートが削除されないのは不具合らしい


Boost and toot deletion interaction problem (GitHub)

この記事で言及した「ブーストされたトゥートが削除されない」事象は、一応不具合として認識されています。削除通知を送信する範囲の問題のようで、分散型のシステムはいろいろと難しいところがありそうですね。

【Mastodon】トゥートの削除はリモートへのブーストに注意


Mastodonのタイムラインで、こんな情報が流れてきました。

第2回 マストドンで,いごこちのよいタイムラインをつくろう (gihyo.jp)

まず,いったん投稿したトゥートは削除できるものの,それが消えるのはあなたが属しているインスタンス内の話です。他のインスタンスのユーザーがあなたをリモートフォローしている場合,そこまで届いたトゥートは消えないのです。

間違ったトゥートをしてしまった場合のリスクは,むしろマストドンのほうが重大だということを理解しておきましょう。

他のインスタンスのユーザーに向けて送信したダイレクトな投稿や,次回解説する「ブースト」と呼ばれる投稿の拡散も,あなたが属しているインスタンスの外側では削除や取り消しはできません。

いくら何でもそれでは「削除」機能自体の意味がないのではと思い、自分でインスタンスを2つ立ててリモートフォロー関係のユーザーを作り、試してみたところ、以下のような挙動でした。

1)トゥートの削除はリモートフォロー先にも伝搬して削除される(他インスタンスユーザーへの@トゥートも同様)
2)ブーストの取り消しは「~さんにブーストされました」という表示だけが消え、トゥート自体は残る

とりあえず自分が試した範囲では、リモートフォロー先でもトゥートが消えるのを確認できました。ブーストに関しては「誰が」ブーストしたかという情報だけは消えるので、最低限のプライバシーは確保できそうです。

ただし、削除やブーストの取り消しは、インスタンス間のネットワーク通信で成立するので、通信失敗によりうまく削除できない可能性はあります。リモートフォロー先のインスタンス停止→トゥート削除→インスタンス再開などして試した限り、ある程度の再送機能は備えているようです。

なお、「ブーストされた元トゥートを削除しても、ブーストでリモートに伝搬されたトゥートは消えない」ようです(ローカルの範囲では消える)。むしろこっちが問題なんじゃないかと……。元記事が警告しているリスクは、大きな意味では間違っていないのかもしれません。

【Mastodon】連合タイムラインに表示されるトゥート


今一つ理解していなかったのですが、このあたりを見てわかりました。

【図解】マストドンの連合タイムラインとは何?わかりやすく解説!
Mastodonの連合タイムラインって何?「ローカルユーザ」と「リモートユーザ」の違い

トゥートする立場で言うと、自分が公開設定で行われたトゥートは

1)自分と同じインスタンスの全ユーザー
2)自分をリモートフォローしているユーザー
3)2)のユーザーが属するインスタンスの全ユーザー

の連合タイムラインに表示されるということですね。個人的に1)2)だけだと勝手に思っていました。

WordPressの記事投稿をMastodonに反映してみる


ブログに記事を投稿するとTwitterに更新通知をツイートするというのをMastodonでもやりたくて、いろいろ情報を探したところ、以下の記事がヒット。

MastodonとWordPressをとりあえず連携してみる (LINKBAL Engineer’s Blog)

ソースコードがGitHubに公開されているので、記事に書かれている通りに設定して、更新通知をMastodonにトゥートできました。

ただ、5/5現在のソースコードでは「新しい記事が公開されました!」という固定文言が更新されるようです。個人的には記事のタイトルが投稿されるとうれしいので、mastodon-for-wp.phpをちょっとだけ調整。 もともとこうなっていた記述を

$t->PostStatuses("新しい記事が公開されました!\n"
.get_permalink($post_id));

こうしてみました。

$t->PostStatuses(get_the_title($post_id)."\n"
.get_permalink($post_id));

タイトルを投稿しないようにしたのは何かの理由があるかもしれないので、ご利用は自己責任でお願いいたします。

Mastodonはじめました


オープンソースの分散型SNS「Mastodon」が話題ですね。とりあえず新しいものには食いついておかなければいけないということで、自分も始めてみました。

他社のサービスに乗っかるのも芸がないと思い、自分専用のインスタンスを立てて@edo@mstdn.bari-ikutsu.comというアカウントにしてみました。よろしければリモートフォローしてみてください。飽きたら突然インスタンスを消すかもしれませんのであしからず。