ユーザーの凍結も削除も連合ではDeleteとして扱われるが、凍結解除した場合フォロー関係がリセットされた状態で復活する
Summary
連合で凍結を識別したい
Purpose
ユーザーが削除されてしまうため、凍結解除した際にフォロー関係を修復できない
Do you want to implement this feature yourself?
- [ ] Yes, I will implement this by myself and send a pull request
強火
Mastodonには、Deleteだけど本Deleteじゃない プロパティがあった気がするわね。 そのあたりをSuspendとマップすればいいかもだわ。 でも、ローカルで行ったSuspendをリモートから戻されるわけにはいかないので、リモートSuspendみたいなフラグ必要かもだわね。
現状だとノートも消えるので、ちょっとつらそうですね…
フォロー関係を修復できない
曖昧な表現 フォロー関係に不整合が出るのではなく、フォロー関係がリセットされた状態で復活する。
フォロー関係に不整合が出るのではなく、
不整合が出るかと思います
フォローしようとしても多分リモート側でフォロー済扱い受けてるからかフォローできないのですが https://misskey.niri.la/notes/9pl1csori1
不整合が出るかと思います
通常MisskeyでDeleteを送られてきて成功する限り、フォロー関係も含めて削除されるので出ないはず。
フォローする側ではフォロー解除されるのですが(確認済)、フォローされる側 = 凍結解除された側で不整合が起きるのだと推測します
フォローしようとしても多分リモート側でフォロー済扱い受けてるからかフォローできないのですが https://misskey.niri.la/notes/9pl1csori1
リモートユーザー削除しても (おそらく削除済みレコードを参照している状態の) キャッシュを残してしまっているらしく そこで返ってきたAccept Followを弾いてしまって不整合になっていると思っているわ。
~~ブロ解して再フォローでうまく行ったのは運とか時間経過という感じですかね~~ あれうまく行ってなかった
リモートユーザー削除しても (おそらく削除済みレコードを参照している状態の) キャッシュを残してしまっているらしく そこで返ってきたAccept Followを弾いてしまって不整合になっていると思っているわ。
今確認したらなんかうまく行ってなかったので確かのそうなのかもです
実際試した感じこうなったわ
Delete => Undo Deleteの段階ではどちらもフォロー関係は0
↓
Delete => Undo Deleteを受け取った方のサーバーからフォローした場合
相手からAccept Followが返って来てもError: No follow request.でエラーにしてしまう (inboxジョブとして何回か再試行される)
↓
受け取った側のMisskeyを再起動して (ここでキャッシュも消える) ジョブキューを再試行すると成功する
あと本題の方だと 新生ユーザーとして復活するので、フォロー関係だけではなくミュートブロックやモデレーション系もリセットされてしまう。
Mastodonには、Deleteだけど本Deleteじゃない プロパティがあった気がするわね。
これ結局なんだっけ
そういえば: 凍結ごっそり変えたとかいう割にこれ全然治ってない
Mastodonには、Deleteだけど本Deleteじゃない プロパティがあった気がするわね。
これ結局なんだっけ
これ結局なんだっけ2
https://docs.joinmastodon.org/spec/activitypub/#suspended
なるほど?
(Mastodonはこのフラグのaccount updateっぽいのを送るらしい?)
よく考えると、リモートのsuspendとローカルのsuspendって区別する必要があるんじゃないかしら
区別しないと、ローカルでsuspendしたのにリモートのunsuspendを受信したら解除されてしまうことになる
ユーザーが削除されてしまうため、凍結解除した際にフォロー関係を修復できない
そもそもローカルユーザーを凍結してもフォロー全解除が走るので修復しなくてもいいのでは