Temas creados por usuarios ignorados se muestran en la página de inicio

Hola @BeBe, ¿qué solución alternativa encontraste?

Tengo un usuario para el que está bien ver sus publicaciones en otros temas, pero me gustaría que sus temas creados estuvieran ocultos.

Sus temas siempre giran en torno a los mismos (aburridos) temas. :wink:

Hay una forma CSS de ocultar las publicaciones de usuario dentro de los temas:

Pero, desafortunadamente, las listas de temas no incluyen el ID de usuario del creador, por lo que no hay una forma de ocultar los temas creados por el usuario.

Tomemos el nombre de usuario abc con ID 123.

Eché un vistazo al código fuente para ver si había una manera de hacerlo con CSS de usuario.

La etiqueta del tema es actualmente así:

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

Dentro de ella, seguro que podría consultar la celda de los pósters, pero necesitaría JavaScript ya que quiero ocultar su padre:

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

Ahora, si tuviéramos el atributo adicional data-op-user-id="123", directamente en el tr del tema:

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

Podríamos usar CSS simple de usuario para filtrar por ID de usuario, para quienes preferimos no ver sus temas:

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

¿Sería posible tener un nuevo data-op-user-id en las etiquetas tr.topic-list-item de las entradas de tema?

Solo funciona en modo de escritorio, ver abajo.


Para quien pueda estar interesado, escribí un pequeño userscript para community.metabrainz.org.
Primero lo intenté con MutationObserver, como se aconsejó, pero se volvió demasiado complejo, así que solo uso un setInterval tonto.

No lo hice dinámico y con configuraciones de usuario, etc.
Cada actualización borrará tu lista negra y tu @include (ver más adelante).

Porque espero que se agregue un nuevo atributo data-op-user-id a los temas en Discourse genuino, para que ya no necesite este userscript.

Puedes adaptarlo a cualquier otro foro de Discourse cambiando su @include a tu URL (la única línea específica).


No funciona en vista móvil ya que (desafortunadamente), por diseño, Discourse no muestra el avatar del OP en vista móvil.

Por lo tanto, todavía sería muy conveniente en términos de spam tener ese sugerido tr.topic-list-item[data-op-user-id='123'].

Ahora las actualizaciones no restablecerán mi lista negra, he agregado un editor básico de lista negra y la lista se guarda localmente.

Pero realmente me encantaría, me encantaría, me encantaría que Discourse incluyera un ID de usuario OP en cada fila de tema <TR data-op-user-id="123">, para que una hoja de estilo de usuario súper simple fuera suficiente para ocultar los temas de usuarios ignorados:

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

O me encantaría, me encantaría, me encantaría aún más que Discourse simplemente ocultara los temas de usuarios ignorados por sí mismo.

No entiendo el propósito de los usuarios ignorados si sus temas contaminan mi navegación.