1. Mastodon で post
2. Misskey 等の edit 非対応実装で repost される
3. post を edit する
4. 別のサーバーで 2 から repost される

となったとき、2 には edit が伝播されないけど 4 に対しては edit 前/後どちらの状態で repost されるんだ?

『別のサーバー』が1のpostを4の前に既に受け取っている場合は、4のrepostに関わらず、edit対応の有無で結果がでているので、これは除外。

まだ『別のサーバー』が1のpostを知らない場合、4のrepostの時に『別のサーバー』は元のMastodonサーバへfetchする。この時、edit対応の有無にかかわらず、edit後の内容が取得される。

2にある情報で利用されるのはpostのuriのみ。内容は1から取得するか、もう手元にキャッシュがあるならそれを使う。

なるほど、ありがとうございます🙏️ repost は内容ごと repost しているのだと思っていましたが URI だけなんですね。fav

フォロー

postを受け取った時点、JSON-LD署名がついているjsonであれば転送することができるんですが、一度受け取ってデータベースに保存した他鯖の投稿内容をjsonに組み立てて転送しても、出所が投稿したサーバではないし、署名も残っていないので、相手に信用してもらえません。(信用する実装があるかもしれませんが、容易に騙されることになります)

たしかに repost された内容が改変される可能性も考慮すると元サーバーに問い合わせる方が合理的ですね。410 を返すようになったサーバーの post は repost できなくなるみたいな話もありそうですが、それはそれで良い気もしますし。

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

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