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?
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.
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…
@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 (:
Hallo @BeBe, welche Umgehungslösung hast du gefunden?
Ich habe einen Benutzer, für den es in Ordnung ist, seine Beiträge in den Themen anderer zu sehen, aber ich möchte seine erstellten Themen ausblenden.
Seine Themen drehen sich immer um dieselben (langweiligen) Themen. ![]()
Es gibt eine CSS-Möglichkeit, Benutzerbeiträge in Themen auszublenden:
Aber leider enthalten Themenlisten keine Benutzer-ID des Erstellers, daher gibt es keine Möglichkeit, vom Benutzer erstellte Themen auszublenden.
Nehmen wir den Benutzernamen abc mit der ID 123.
Ich habe mir den Quellcode angesehen, um zu sehen, ob es eine Möglichkeit gibt, dies mit Benutzer-CSS zu tun.
Das Thema-Tag sieht derzeit so aus:
<tr data-topic-id="123" id="ember123" class="topic-list-item … ember-view">
Darin könnte ich sicher die Poster-Zelle abfragen, aber es würde JavaScript erfordern, da ich das übergeordnete Element ausblenden möchte:
tr > td.posters > a:first-child[data-user-card='abc']
Wenn wir nun das zusätzliche Attribut data-op-user-id="123" direkt im Thema tr hätten:
<tr data-topic-id="123" id="ember123" data-op-user-id="123" class="topic-list-item … ember-view">
Könnten wir einfaches Benutzer-CSS verwenden, um eine großartige Filterung nach Benutzer-ID durchzuführen, von der wir lieber nicht möchten, dass ihre Themen angezeigt werden:
tr.topic-list-item[data-op-user-id='123']
Wäre es möglich, ein solches neues data-op-user-id-Attribut für die Themen-Eintrags-tr.topic-list-item-Tags zu haben?
Funktioniert nur im Desktop-Modus, siehe unten.
Für alle, die es interessiert, ich habe ein kleines Userscript für community.metabrainz.org geschrieben.
Ich habe es zuerst mit MutationObserver versucht, wie empfohlen, aber es wurde übermäßig komplex, also benutze ich nur ein einfaches setInterval.
Ich habe es nicht dynamisch und mit Benutzereinstellungen usw. gemacht.
Jedes Update löscht deine Blacklist und dein @include (siehe später).
Da ich hoffe, dass ein neues data-op-user-id-Attribut in echtem Discourse zu Themen hinzugefügt wird, werde ich dieses Userscript nicht mehr benötigen.
Du kannst es an jedes andere Discourse-Forum anpassen, indem du sein @include auf deine URL änderst (die einzige spezifische Zeile).
Funktioniert nicht in der mobilen Ansicht, da (leider) von Design her Discourse den OP-Avatar in der mobilen Ansicht nicht anzeigt.
Daher wäre es spam-mäßig immer noch sehr praktisch, das vorgeschlagene tr.topic-list-item[data-op-user-id='123'].
Jetzt setzen Updates meine Blacklist nicht mehr zurück. Ich habe einen grundlegenden Blacklist-Editor hinzugefügt und die Liste wird lokal gespeichert.
Aber ich würde mir wirklich sehr wünschen, dass Discourse eine OP-Benutzer-ID in jeder Themen-<tr>-Zeile (<TR data-op-user-id="123">) einfügt, damit eine super einfache Benutzer-Stylesheet ausreicht, um ignorierte Benutzerthemen auszublenden:
tr.topic-list-item[data-op-user-id='123'] { display: none; }
Oder ich würde mir noch mehr wünschen, dass Discourse ignorierte Benutzerthemen einfach selbst ausblendet.
Ich verstehe den Zweck von ignorierten Benutzern nicht, wenn ihre Themen meine Browsing-Erfahrung verschmutzen.
<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
<div class="topic-poster" data-user-card="{{topic.creator.username}}">
Vielleicht versuchen Sie, die Eigenschaft username/userid zum div des Thema-Erstellers hinzuzufügen, indem Sie die Vorlage latest-topic-list-item überschreiben. Dann können Sie sie über das Benutzer-Stylesheet ausblenden.
Ich habe auch eine Komponente, um ignorierte Benutzer automatisch auszublenden, wenn Sie einen Blick darauf werfen möchten.
Ich bin nur ein Discourse-Benutzer, kein Administrator.
Ich kann keine Discourse-Plugins auf allen Discourse-Sites installieren, die ich nutze.
Ich kann Benutzerskripte und Benutzer-Stylesheets ausführen, wie auf jeder Website, aber es ist begrenzt, da es keine op-user-Informationen in Thema-Tags gibt.
Deshalb hätte ich das gerne in der echten Software selbst. ![]()
Ich habe einen Vorschlag für eine Problemumgehung, die recht einfach zu implementieren sein könnte: Beiträge von ignorierten Benutzern können durch Klicken auf „Versteckten Beitrag anzeigen“ angezeigt werden. Warum kann das nicht auch für den ersten Beitrag gelten (d. h. für einen Thread, der von einem ignorierten Benutzer erstellt wurde)?
Gibt es eine mögliche Implementierung dafür? Ich denke, das sollte als Fehler betrachtet werden. Wenn Sie Nachrichten/Chats von einem Benutzer unterdrücken möchten, möchten Sie auch nicht dessen Themen sehen … oder?
Könnten die Themen nur dann aus den neuesten Beiträgen ausgeblendet werden, wenn der letzte Beitrag von dem ignorierten Benutzer stammt? Auf diese Weise würden alle neuen Themen von den ignorierten Benutzern ausgeblendet, aber alle Antworten von anderen Benutzern würden weiterhin in den neuesten Beiträgen angezeigt werden.
Dies ist in letzter Zeit hier auf Meta zu einem echten Problem geworden.
Aus reiner Neugier, warum möchten Sie die Antworten anderer sehen, anstatt das Thema komplett stummzuschalten? Wäre die Teilkonversation nicht schwer zu verfolgen?
Fragen Sie mich oder David, denn das war sein Argument? Es wäre mir egal, aber es wäre am besten, wenn dies von jedem Benutzer konfigurierbar wäre.
Was mich betrifft, so werden Benutzer von anderen Benutzern meistens aufgrund ihres allgemeinen „Verhaltens“ ignoriert, was schwer genau zu quantifizieren ist, aber nur teilweise auf dem Inhalt ihrer Beiträge basiert.
Das bedeutet, dass die weitere Diskussion, die auf ihren „Beiträgen“ basiert, manchmal recht nützlich sein kann.
Was ich wirklich bemängele, ist, dass einige Benutzer nur Fehler finden und diese lautstark äußern, ohne sich zuerst Zeit oder Mühe zu nehmen, etwas zu lernen, und dann mehrere Themen gleichzeitig spammen, was dann „latest“ völlig überfordert.
Das einfache Ignorieren ihrer letzten Beiträge (und damit das Nichtanzeigen des Themas in „latest“, wenn sie posten) würde das Problem beheben. Die Art und Weise, wie es jetzt implementiert ist, fühlt sich kaputt an.
Für mich sollten die von stummgeschalteten Benutzern erstellten Themen immer ausgeblendet werden.
Ich interessiere mich nicht für ihre Themen, auch wenn andere nicht stummgeschaltete Personen daran teilnehmen.
Eine zusätzliche Blockierfunktion wäre großartig, alle großen sozialen Medien bieten diese Funktion an.
Ich erinnere mich, dass jemand hier sagte, dass das Blockieren eines Benutzers bedeutet, dass etwas mit dem Forum nicht stimmt, also ist es nutzlos und löst das Problem nicht wirklich, aber ich denke, es ist nur eine persönliche Entscheidung, jemanden zu verbergen, vielleicht mag jemand anderes diesen Benutzer, nur ich nicht.
Und wenn der Benutzer viele Leute beleidigt hat, wurden sie wahrscheinlich bereits gemeldet.
Tatsächlich besteht der Sinn des Ignorierens von jemandem normalerweise darin, dass er einen nervt und/oder einen in eine Diskussion verwickelt. Es scheint also den Zweck zu verfehlen, wenn sie in /latest usw. angezeigt werden.
Glücklicherweise ist dies verfügbar und scheint gut zu funktionieren:
Aber es fühlt sich wirklich so an, als sollte es eine Kernfunktion von Discourse sein, zumindest als Option oder idealerweise standardmäßig.
Klingt super cool, wenn auch extern und erfordert Admin-Rechte.
Wissen Sie, ob es beim Surfen vom Smartphone aus funktioniert?
Ja, das tut es