misskey icon indicating copy to clipboard operation
misskey copied to clipboard

ap: ノートのemoji_reactionsに対応する?

Open tamaina opened this issue 2 years ago • 4 comments

Summary

ActivityPubで、Fedibirdが採用しているemoji_reactionsを配信・読み込みする
リモートのリアクションを反映することができる

https://fedibird.com/users/noellabo/statuses/109951471711685649/emoji_reactions

first.itemsにそのノートに対するリアクション行為が配列として入っている(リアクションがいくつあるかは配列をfilterとかreduceとかして算出するらしい)
Misskeyはデータベースにjsonbで{ '👍': 2, ':wakaru:': 1}みたいに入っているしapi同士のやり取りも大体そのようにしており、配列のように表現する必要はない ioみたいに大量にリアクションが入ってるとサイズがすごいと思う

( emoji reaction emojireaction reactions )

tamaina avatar Mar 02 '23 05:03 tamaina

Likeオブジェクトでactorを含んでいる場合もあって、MisskeyはNoteReactionsリポジトリを持っているのでそれを元に全部Likeとして配信できなくもないがそれ負荷どうなん

tamaina avatar Mar 02 '23 05:03 tamaina

いわゆるLikesコレクション (with Misskey拡張部分) だわね https://github.com/misskey-dev/misskey/issues/7934 https://www.w3.org/TR/activitypub/#likes

mei23 avatar Mar 02 '23 05:03 mei23

ioみたいに大量にリアクションが入ってるとサイズがすごいと思う

別Issueになるけど付けられるリアクションの最大数設定しようかなとちょっと考えてた

syuilo avatar Mar 02 '23 05:03 syuilo

related to https://github.com/misskey-dev/misskey/issues/5425

tamaina avatar Mar 05 '23 15:03 tamaina

related to https://github.com/misskey-dev/misskey/issues/5425

むしろこっち? https://github.com/misskey-dev/misskey/issues/4622

mei23 avatar Jan 16 '24 15:01 mei23

これ実装しようとすると、NoteReaction にリモートLikeのAP idが保存されてないからリモート分を提示できないって問題が発生するわね。

mei23 avatar Jan 16 '24 15:01 mei23

リアクションのLikesコレクションを公開することにより、現状各フォロワーにpush配信しているLikeアクティビティをpull型にすることで無くせる可能性がある。 https://github.com/misskey-dev/misskey/issues/12914

連合Activityの8割を削減できるので、うまくいけば送受信側双方にメリットがある

push型: 圧縮出来ない, キャッシュできない, キュー処理周りの重さ, 受け側はリソースに関係なく受ける羽目になる VS pull型: 圧縮可, キャッシュ可, CDNキャッシュも出来るかも, タイミングは受け側が選べる ので、うまくいけばやはり送受信側双方にメリットがある

ただし、受信側がどのタイミングでpullするべきかという問題は残る

なので、実装してうまく活用できればゲームチェンジャーになり得る気はするのだわ。

この機能があることにより配信側のデメリットはさほどないので (実装するにはリモートリアクションに対して NoteReaction.uri を格納する必要が出てくるなど) 今後の実装次第で効果が期待できるならあってもいいかもだわ。

受信側のデメリットは、pullタイミングなど有効活用が難しいかもなど。

あとコレクション名は emojiReactions ではなくて likes でもいいかも?

mei23 avatar Jan 16 '24 16:01 mei23

NoteってUserみたいにupdatedAtで情報が期限切れだから云々みたいな処理がないのか

tamaina avatar Jan 16 '24 16:01 tamaina