リプライ投稿は、どの投稿に対するリプライなのかという情報を持っています。このへんは基本的にメールと同じです。(InReplyTo)
Mastodonは、この情報を元にして、リプライツリー・スレッドを生成し、投稿の詳細で一覧してくれます。
対象の投稿が存在しなくなる(消されるなど)と、リプライではなくなります。
スレッドの途中の投稿が消えると、つながりがなくなってしまい、スレッドは分断します。
メンションがあるとその相手に通知されますが、メンションを消してしまえば通知しないでリプライできます。
Mastodonは、投稿についているセルフリプライを最大5つ、投稿をリモートサーバに配送する際に情報としてインラインで持たせていて、ブーストされた際などにセルフリプライがまとめて伝わるよう細工がされています。
その他のリプライの情報も取れるようになっていますが、追加のfetchが必要です。
現在の実装では、先のセルフリプライに加えて、直接の公開・未収載のリプライを最大60件取得するようになっているようです。
また、親投稿がサーバキャッシュになかった場合、親投稿をfetchします。
まず、Mastodonのおさらい
リプライ(返信)は、ローカルタイムラインや連合タイムラインに表示されません。
ホームタイムラインでは、リプライ対象とリプライの、両方の投稿主(ユーザー)をフォローしている場合にだけ表示されます。
片方のユーザーだけをフォローしていても、もう片方のユーザーをフォローしていない場合、無関係の他人との会話ということで隠されるようになっています。
投稿の詳細や、アカウントの『投稿と返信』まで自ら見に行けば、リプライをみることができます。
リプライされると通知されますが、これはメンション(@ のついたID)によるもので、これを削除して通知を抑制してもリプライとして機能します。
また、セルフリプライを特別扱いします。
セルフリプライは、自分自身の投稿にリプライする、連続した投稿のことです。
セルフリプライは、
・最初からメンション(@ のついたID)を含みません
・ローカルタイムラインと連合タイムラインに表示されます
・リプライの側に『スレッドを表示』というリンクが表示されます
・ホームタイムラインで隠されません(これはまあ当然だけど)