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

Hi, apologies if I’m doing this wrong or if it’s in the wrong category - first post. I am a moderator on a site that uses this software and I have noticed that when I select ‘ignore’ a user, their posts still show up in my feed, i.e. on the homepage. When I click on it the actual content shows as 'Ignored content. Could this be fixed so that ignored users are completely filtered out of people’s feed?

「いいね!」 10

I am pretty sure this is by design at the moment, @david can confirm.

I guess we should change it so ignored users topics are omitted from latest.

「いいね!」 7

Yeah that’s right - at the moment muting users only hides post content, it won’t hide whole topics.

I guess we could make it apply to topics which the muted user creates, but it means you would miss all the replies from “non muted” users along the way…

「いいね!」 8

@sam @david Just reading through this post just made me think of something.

Could the muted/ignored users posts be dumped/extracted from a thread and placed into a type of TL3 style Catagory under a specific TLX flag that only users that are Blocked/Ignored can see.

I Recently Got Up To TL3 as a user and seeing this invisible category that we hardly use is uniques so repurposing this as a type of
Timeout/Cooling Of Room may
work.

Just an Idea Mind You.

Heya, were you able to think any more about this? It is still an issue on our site

This is not planned at the moment.

Ok! I managed to find a way around it in the end (:

@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