無視されたユーザーによって作成されたトピックがホームページに表示される

こんにちは、もし手順が間違っていたり、カテゴリが適切でなかったりしてすみません。初めての投稿です。私はこのソフトウェアを利用しているサイトのモデレーターですが、「ユーザーを無視」を選択しても、そのユーザーの投稿がホーム画面などのフィードに表示されてしまうことに気づきました。投稿をクリックすると、実際のコンテンツは「無視されたコンテンツ」として表示されます。無視したユーザーの投稿がフィードから完全にフィルタリングされるように修正することは可能でしょうか?

「いいね!」 10

現時点ではこれは仕様によるものだと思われます。@david が確認できます。

無視されたユーザーのトピックが最新一覧から除外されるように変更すべきでしょう。

「いいね!」 7

はい、その通りです。現在、ユーザーをミュートしても投稿の内容が非表示になるだけで、トピック全体が非表示になるわけではありません。

ミュートしたユーザーが作成するトピックにも適用できるようにすることは可能ですが、その場合、そのトピックに対する「ミュートされていない」ユーザーからの返信もすべて見逃してしまうことになります。

「いいね!」 8

@sam @david この投稿を読み進めているうちに、ふと思いつきました。

ミュートまたは無視されているユーザーの投稿をスレッドから抽出し、特定のTLXフラグの下に、ブロックまたは無視されているユーザーのみが閲覧できる、TL3スタイルのカテゴリーとして配置することはできないでしょうか。

私は最近ユーザーとしてTL3に到達しましたが、ほとんど使われていないこの「見えないカテゴリー」はユニークです。これを一種のタイムアウトやクールダウンルームとして再利用できるかもしれません。

あくまで一つのアイデアですが。

こんにちは、この件についてさらにご検討いただけましたか?当サイトではまだ問題が解決しておりません。

現時点では予定されていません。

わかりました!結局、回避策を見つけました(:)

@BeBeさん、どのような回避策を見つけましたか?

投稿は他のトピックで見られても構いませんが、作成したトピックは非表示にしたいのです。

彼らのトピックはいつも同じ(退屈な)話題ばかりです。:wink:

ユーザーの投稿をトピック内で非表示にするCSSの方法はあります。

.topic-post article[data-user-id="26487"]

しかし残念ながら、トピックリストには作成者のユーザーIDが含まれていないため、ユーザーが作成したトピックを非表示にする方法はありません。

ユーザー名 abc、ID 123 としましょう。

ソースコードを見て、ユーザーCSSで実現できるか確認しました。

現在のトピックタグは次のようになっています。

<tr data-topic-id="123" id="ember123" class="topic-list-item … ember-view">

その中で、投稿者のセルをクエリすることはできますが、親を非表示にしたい場合はJavaScriptが必要になります。

tr > td.posters > a:first-child[data-user-card='abc']

もし、トピック tr に直接 追加属性 data-op-user-id="123" があれば:

<tr data-topic-id="123" id="ember123" data-op-user-id="123" class="topic-list-item … ember-view">

簡単なユーザーCSS を使用して、トピックをあまり見たくないユーザーIDでフィルタリングできます。

tr.topic-list-item[data-op-user-id='123']

トピックエントリ tr.topic-list-item タグに、このような新しい data-op-user-id を追加することは可能でしょうか?


デスクトップモードでのみ機能します。以下を参照してください。


興味のある方のために、community.metabrainz.org 用に 簡単なユーザースクリプト を書きました。
最初は推奨されていた MutationObserver を試しましたが、複雑になりすぎたため、単純な setInterval を使用しました。

動的でユーザー設定などはありません。
各アップデートでブラックリストと @include が消去されます(後述)。

Discourse に data-op-user-id 属性が追加されれば、このユーザースクリプトは不要になるはずです。

@include を自分のURLに変更することで、他のDiscourseフォーラムにも適応できます(唯一の特定行)。


残念ながら、デザイン上、DiscourseはモバイルビューでOPのアバターを表示しないため、モバイルビューでは機能しません。

そのため、提案された tr.topic-list-item[data-op-user-id='123'] は、スパム対策として非常に便利です。

私はそれを動的でユーザー設定などにはしませんでした。
各アップデートであなたのブラックリストが消去されます

アップデートでブラックリストがリセットされなくなりました。基本的なブラックリストエディタを追加し、リストはローカルに保存されるようになりました。

しかし、Discourse が各トピックの <tr> 行に OP のユーザー ID を追加してくれれば、非常に簡単なユーザースタイルシートで無視したユーザーのトピックを非表示にできるのに、と強く願っています。

tr.topic-list-item[data-op-user-id='123'] { display: none; }

あるいは、Discourse が単に無視したユーザーのトピックを非表示にしてくれれば、もっともっともっと嬉しいです。

無視したユーザーがいるのに、そのトピックが私の閲覧を汚染する目的が理解できません。


<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
<div class="topic-poster" data-user-card="{{topic.creator.username}}">

ユーザー名/ユーザーIDプロパティをトピックポスターdivに追加してみてください。latest-topic-list-itemテンプレートをオーバーライドしてから、ユーザーのスタイルシートで非表示にすることができます。

無視されたユーザーを自動的に非表示にするコンポーネントもあります。

私は単なるDiscourseユーザーであり、管理者ではありません。
私が使用するすべてのDiscourseサイトにDiscourseプラグインをインストールすることはできません。

ユーザーは、トピックタグにop-user情報がないため、あらゆるウェブサイトで実行できるユーザー スクリプトとユーザー スタイルシートを実行できますが、それは制限されています。
そのため、本物のソフトウェアにこれを追加したいと思います。 :slight_smile:

無視されたユーザーからの投稿は「隠された投稿を表示」をクリックすることで表示できますが、スレッド作成者(無視されたユーザー)の最初の投稿も同様に表示することはできないのでしょうか?

「いいね!」 1

それに対する実装の可能性はありますか?バグとして考慮すべきだと思います。あるユーザーからのメッセージ/チャットを抑制したい場合、そのユーザーのトピックも表示したくないですよね?

「いいね!」 3

無視したユーザーが投稿した最後の投稿があった場合にのみ、トピックを最新情報から非表示にすることはできませんか? この方法であれば、無視したユーザーからの新しいトピックはすべて非表示になりますが、他のユーザーからの返信はすべて最新情報に表示されます。

これは最近、メタで実際の問題になっています。

「いいね!」 2

好奇心からですが、トピックを完全にミュートするのではなく、他の人の返信を見たいと思うのはなぜですか?部分的な会話はフォローするのが難しいのではないでしょうか?

「いいね!」 2

これは私に尋ねていますか、それともデビッドに尋ねていますか?これは彼の主張でしたから。どちらにしても構いませんが、各ユーザーが設定できるようにするのが最善だと思います。

私の知る限り、ユーザーは他のユーザーから一般的な「態度」に基づいて無視されることがほとんどです。これは正確に定量化するのが難しいですが、投稿の内容に部分的に基づいているだけです。

つまり、彼らの「貢献」に基づいたさらなる議論は、時には非常に役立つことがあります。

私が本当に問題視しているのは、一部のユーザーが、まず学習に時間や労力を費やすことなく、欠点を見つけて声高に主張し、複数のトピックに同時にスパムを送信するため、最新情報が完全に圧倒されてしまうことです。

彼らの最後の投稿を単純に無視する(したがって、彼らが投稿したときにトピックが最新情報で更新されないようにする)ことで解決します。現在実装されている方法は壊れているように感じます。

「いいね!」 1

ミュートされたユーザーが作成したトピックは、常に非表示にすべきです。
他のミュートされていない人が参加していても、彼らのトピックには興味がありません。

「いいね!」 2

ブロック設定が追加されると、主要なソーシャルメディアはすべてこの機能を提供しています。

以前、ここで誰かが「ユーザーブロックはフォーラムに問題があることを意味し、役に立たず、実際には問題を解決しない」と言っていたのを覚えています。しかし、それは単に誰かを非表示にする個人的な選択であり、他の人はそのユーザーを好むかもしれませんが、私はそうではありません。

そして、そのユーザーが多くの人々を不快にさせた場合、彼らはすでに報告されている可能性が高いです。

「いいね!」 1

確かに、誰かを無視する主な理由は、その人があなたをイライラさせる、またはあなたを議論に引き込むからです。そのため、/latest などに表示されると、その目的を打ち消してしまうように思えます。

幸いなことに、これは利用可能で、うまく機能するようです。

しかし、これは少なくともオプションとして、あるいは理想的にはデフォルトで、コアのDiscourse機能であるべきだと本当に感じます。

「いいね!」 2

クールですね。ただし、外部のもので管理者権限が必要です。
スマートフォンからブラウジングした場合でも機能するかどうかご存知ですか?

はい、そうです

「いいね!」 1