TL病み期?
これにするとタイムラインの読み込み時に不正確な情報を返す必要がなくなるし、総投稿数も最終投稿日時もactorsテーブルに持たせるか…
@usbharu actorsテーブルにfollowing_cntとfollowers_cntを持たせて、relationshipsテーブルを更新するときに一緒に更新するのはどうでしょうか?
{
"@context" : [ "https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1", {
"manuallyApprovesFollowers" : "as:manuallyApprovesFollowers",
"sensitive" : "as:sensitive",
"Hashtag" : "as:Hashtag",
"quoteUrl" : "as:quoteUrl",
"toot" : "http://joinmastodon.org/ns#",
"Emoji" : "toot:Emoji",
"featured" : "toot:featured",
"discoverable" : "toot:discoverable",
"schema" : "http://schema.org#",
"PropertyValue" : "schema:PropertyValue",
"value" : "schema:value",
"misskey" : "https://misskey-hub.net/ns#",
"_misskey_content" : "misskey:_misskey_content",
"_misskey_quote" : "misskey:_misskey_quote",
"_misskey_reaction" : "misskey:_misskey_reaction",
"_misskey_votes" : "misskey:_misskey_votes",
"_misskey_summary" : "misskey:_misskey_summary",
"isCat" : "misskey:isCat",
"vcard" : "http://www.w3.org/2006/vcard/ns#"
} ],
"type" : "Delete",
"actor" : "https://misskey.usbharu.dev/users/9d1pbgd0uu",
"object" : "https://misskey.usbharu.dev/users/9d1pbgd0uu",
"published" : "2023-12-13T07:13:27.684Z",
"id" : "https://misskey.usbharu.dev/5168939e-7cbb-4fb3-91b5-25d26f47a291"
}
不整合の解決あたりはだいぶ成熟してきたのでいい感じだけど同時に来た重複したリクエストに対して弱いのでちゃんと作りたい。主に作り始めたときにトランザクションに対する理解がなかったのと、そもそもここまで同じリクエストが重複して飛んでくると思ってなかった。
@kussy_tessy@fedibird.com Mastodonのアカウント削除の挙動を把握してなかったのでアクティビティ来ると思ってたんですが、ドキュメントちゃんと読んだら同じidで作成できないって書いてあったので無いっぽいです。昔何処かでMastodonはアカウント削除後の挙動がMisskeyと違う的な話を聞いたので勘違いしました。
Delete Actorアクティビティを受け取る → DBからactorの情報を削除、ただし公開鍵は保持する。
Delete ActorされたActorからのアクティビティは破棄
別のActor(同じAcct)からのアクティビティは受け付ける
にするべか…
アカウント削除後に同じ名前で新しいアカウントが作成されたとき、不正なactorとしてアクティビティの破棄をするべきなのか、Deleteアクティビティを受け取った時点でアカウントの正常な削除を受け取った扱いにして新しいアカウントとしてアクティビティを受け付けるべきなのか。