Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

絵文字のブラックリスト設定を追加し、リストに入っている絵文字リアクションを❤に変換できるようにしたい #11772

Open
EbiseLutica opened this issue Sep 1, 2023 · 16 comments
Labels
[Feat] Mute/Block Mute or Block related issue. It does not cover server blocking or server muting. ✨Feature This adds/improves/enhances a feature 🔥high priority

Comments

@EbiseLutica
Copy link
Contributor

Unicode、カスタム絵文字問わず、人によってリアクションされると嫌な絵文字というものがあります

  • ユーザー設定で、この嫌な絵文字の一覧をブラックリストとして登録できる機能
  • ブラックリストにある絵文字が、自分のノートに対するリアクションとして使われた場合、リアクション絵文字を❤に変換する

の2つがあると良さそうです

(ブラックリストっていう表記、なにかとまずいかもしれない)

@EbiseLutica EbiseLutica added the ✨Feature This adds/improves/enhances a feature label Sep 1, 2023
@tai-cha
Copy link
Contributor

tai-cha commented Sep 8, 2023

ブラックリスト的なものが実際にできるなら自分のTL上のリアクションからも表示しないようにできたらうれしいと私的には思います(インスタンスによってはチカチカする絵文字も入っていたりするがそれらリアクションを見ないことがむずかしいため)

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Oct 27, 2023

ローカルはどうにかなっても、リモートからのカスタム絵文字のブロックは際限ないのでキツそう

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Dec 19, 2023

ローカルはどうにかなっても、リモートからのカスタム絵文字のブロックは際限ないのでキツそう

同一名称の絵文字はリモートからもブロックとかにしておけばちょっとはマシになるかな

@shiosyakeyakini-info
Copy link
Contributor

#12480 が実現できれば名前の異なる見たくない絵文字をミュートしたりできるのではと思ってる

@kakkokari-gtyih
Copy link
Contributor

#12480 が実現できれば名前の異なる見たくない絵文字をミュートしたりできるのではと思ってる

#12480 (comment) に書いたけど、厳格な判断をしたい場合にこの手法は使い物にならなくなるかもしれない

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jan 26, 2024

ローカルはどうにかなっても、リモートからのカスタム絵文字のブロックは際限ないのでキツそう

リモートからのリアクションは全フォールバックにする設定があるので、それとの合せ技で一旦実装してしまってもいいかもと思ったりした

@kakkokari-gtyih
Copy link
Contributor

中途半端にバックエンドだけ実装した

https://github.com/kakkokari-gtyih/misskey/tree/feat-11772

@samunohito
Copy link
Member

ほしいかも
着手はしばらく後になるけど、それでも良ければ僕が実装します

自分が実装するとしたら…以下のような感じで考えてます

  • 禁止ワードとかと同じように、キーワードと正規表現パターンをテキストボックスに書き連ねていく
  • 対象は「自分のノートにつけられたリアクション」のみ
  • 対象の絵文字一覧はuser_profileに持つ
  • NoteEntityServiceでのpack時に、ヒットした絵文字を❤に寄せる

@syuilo
Copy link
Member

syuilo commented Apr 16, 2024

NoteEntityServiceでのpack時に、ヒットした絵文字を❤に寄せる

NoteをpackするときにUserProfileのfetchが必要になるのは避けたいわね

@kakkokari-gtyih
Copy link
Contributor

NoteEntityServiceでのpack時に、ヒットした絵文字を❤に寄せる

NoteをpackするときにUserProfileのfetchが必要になるのは避けたいわね

クライアントでフィルタする(ハートに合算する)ので良さそう?

@syuilo
Copy link
Member

syuilo commented Apr 16, 2024

通知とかも考慮したいしクライアント側でケアするのはうーむ

@syuilo
Copy link
Member

syuilo commented Apr 16, 2024

あと「自分だけが見たくない」というよりは「自分の投稿に対して使ってほしくない」ことの方が多そうだからサーバーサイドでやる必要がある

@samunohito
Copy link
Member

NoteをpackするときにUserProfileのfetchが必要になるのは避けたいわね

たしか、user_profileはキャッシュもあったはず…
あと、packMany()で呼ばれることがほとんどだろうから、many側で必要なデータをあらかじめ取り寄せておいて、packのオプションとして引き渡して…みたいなのを考えていました(NodeEntityServiceとかそのあたりが既にやってる方式)。

ともかく、DBへの負担を最小限にする実装の模索は必要です

@samunohito
Copy link
Member

(別案として、リアクションをつけるときに❤にしてしまうというのも考えてはいるが、すでについてしまったリアクションをケア出来ないので一長一短な感じ)

@syuilo
Copy link
Member

syuilo commented Oct 31, 2024

設定すると、過去のも含め返還されるのではなく、設定後に行われるリアクションを変換するようにすれば負荷は減りそう
(過去のものをどうにかしたい場合は #14660 を使ってもらう)

@Sayamame-beans
Copy link
Member

確かに、以降のリアクション自体を制限する11772、特定の絵文字の方を非表示にする14785(or 14660?)の組み合わせで、需要の多くはカバー出来る気もしてきますね

@samunohito samunohito added the [Feat] Mute/Block Mute or Block related issue. It does not cover server blocking or server muting. label Nov 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feat] Mute/Block Mute or Block related issue. It does not cover server blocking or server muting. ✨Feature This adds/improves/enhances a feature 🔥high priority
Projects
Status: No status
Development

No branches or pull requests

7 participants