まず、Mastodonのおさらい

リプライ(返信)は、ローカルタイムラインや連合タイムラインに表示されません。

ホームタイムラインでは、リプライ対象とリプライの、両方の投稿主(ユーザー)をフォローしている場合にだけ表示されます。

片方のユーザーだけをフォローしていても、もう片方のユーザーをフォローしていない場合、無関係の他人との会話ということで隠されるようになっています。

投稿の詳細や、アカウントの『投稿と返信』まで自ら見に行けば、リプライをみることができます。

リプライされると通知されますが、これはメンション(@ のついたID)によるもので、これを削除して通知を抑制してもリプライとして機能します。

また、セルフリプライを特別扱いします。

セルフリプライは、自分自身の投稿にリプライする、連続した投稿のことです。

セルフリプライは、

・最初からメンション(@ のついたID)を含みません

・ローカルタイムラインと連合タイムラインに表示されます

・リプライの側に『スレッドを表示』というリンクが表示されます

・ホームタイムラインで隠されません(これはまあ当然だけど)

フォロー

リプライ投稿は、どの投稿に対するリプライなのかという情報を持っています。このへんは基本的にメールと同じです。(InReplyTo)

Mastodonは、この情報を元にして、リプライツリー・スレッドを生成し、投稿の詳細で一覧してくれます。

対象の投稿が存在しなくなる(消されるなど)と、リプライではなくなります。

スレッドの途中の投稿が消えると、つながりがなくなってしまい、スレッドは分断します。

メンションがあるとその相手に通知されますが、メンションを消してしまえば通知しないでリプライできます。

Mastodonは、投稿についているセルフリプライを最大5つ、投稿をリモートサーバに配送する際に情報としてインラインで持たせていて、ブーストされた際などにセルフリプライがまとめて伝わるよう細工がされています。

その他のリプライの情報も取れるようになっていますが、追加のfetchが必要です。

現在の実装では、先のセルフリプライに加えて、直接の公開・未収載のリプライを最大60件取得するようになっているようです。

また、親投稿がサーバキャッシュになかった場合、親投稿をfetchします。

ローカルにある投稿にリプライがついた場合、それが署名付きの公開・未収載であれば、リプライ対象の投稿をしたユーザーのフォロワーに転送します。

一般に、リレーだけが署名付き投稿を転送すると思われていますが、このMastodon本体によるリプライの転送も頻繁に発生しています。

メンションは、相手に通知する仕組みですが、そのためには相手のサーバに投稿が届かなければいけないので、リプライを投稿したサーバから、相手のサーバに配送が行われます。

通常の投稿は、基本的にフォロワーに対して配送されますが、リプライの場合、以上のような条件により追加で投稿が配送される仕組みがあります。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。