El contador de no leídos muestra No leídos (14) pero /unread está vacío

En esta agradable mañana de jueves, les presento un interesante dilema. Estoy viendo lo que parece ser un contador de no leídos con un falso positivo en mi sitio.

Qué sucede

La barra de navegación superior muestra No leídos (14). Pero cuando hago clic en ella y voy a /unread, no se listan ningún tema no leído. La página indica que no hay nada más sin leer.

Otros usuarios que no son personal también están experimentando el mismo problema, aunque con diferentes conteos de no leídos.

En la aplicación de Discourse para iOS, también veo un contador de no leídos cuando no hay temas sin leer, a veces con un número diferente.

  • Plataforma: web de escritorio y aplicación de Discourse en iOS
  • Afecta a: múltiples usuarios
  • Sitio: eurth.org

Qué he probado

Probé en el Modo Seguro:

  • https://eurth.org/?safe_mode=no_themes,no_plugins
  • https://eurth.org/unread?safe_mode=no_themes,no_plugins

El problema persiste allí, por lo que parece no ser causado por temas o personalizaciones de plugins del lado del cliente. No hay susurros en ningún tema, así que probablemente tampoco sea eso.

Tampoco puedo usar Descartar, porque no hay ningún botón de Descartar en /unread cuando la lista de no leídos está vacía.

Comportamiento esperado

Si la barra de navegación dice No leídos (14), debería ver 14 temas no leídos en /unread, o al menos algunos temas no leídos visibles.

Comportamiento real

  • la barra de navegación dice No leídos (14)
  • /unread está vacío
  • no hay botón de Descartar disponible
  • el problema persiste en Modo Seguro

Preguntas

  • ¿Existe alguna forma conocida de reconstruir/restablecer el estado de no leídos para un usuario?
  • ¿Existe alguna inconsistencia del lado del servidor que pueda hacer que los conteos de no leídos persistan incluso cuando /unread está vacío?

Anteriormente, pregunté a la IA en ask.discourse.org sobre este problema, y al final me aconsejó que publicara un informe de error aquí.

2 Me gusta

¡Ah, las no leídas fantasma han mordido tu sitio!

¿Has cambiado recientemente permisos de categorías o movido algunos temas a una categoría segura? Algo ha alterado el estado de seguimiento.

¿No querrías restablecerlo para todos los usuarios si otros están teniendo el mismo problema?

Creo que esto se puede solucionar para todos mediante la consola de Rails, pero es un poco complicado y primero tengo que averiguarlo y probarlo. Estoy en un dispositivo móvil en este momento, pero intentaré publicar una solución en un momento si nadie más lo hace.

2 Me gusta

Hola,

Somos conscientes de este error y estamos intentando resolverlo. A todos nos molesta :wink:

8 Me gusta

Sí. En privado, nuestro equipo trabajó en una categoría similar a #documentación, la cual se hizo pública recientemente una vez que estuvo terminada.

Sí, efectivamente. Mi idea era probarlo primero en mí mismo y luego solucionarlo para todos. Dado que es un error tan complicado de probar (al menos para mí), no quería levantar falsas esperanzas en todos hasta tener una solución funcional.

Gracias por la confianza. Esta mañana noté la versión mensual de mayo de 2026 v2026.05 y pensé que podría solucionar el problema, pero aún persiste. Estoy seguro de que el equipo está trabajando en ello. Discourse es increíble.

¡Oh, cielos! :flushed_face: Reconozco que he revisado todos los informes de errores relacionados. Por un momento, incluso consideré simplemente ocultar la pestaña «No leídos» de la navegación e ignorarla. Pero eso no va a solucionar nada, ¿verdad? Parece que incluso me está siguiendo por aquí en Meta.

Captura de pantalla 2026-05-28 a las 13.52.18

1 me gusta

ok, este script de Rails actuará como un “marcar todo como leído” global y forzará el conteo de no_leídos de vuelta a 0 para todos los usuarios, por lo que, lamentablemente, borrará cualquier conteo legítimo de no leídos además de cualquier no leído fantasma. Podemos hacer esto con un comando SQL en Rails. Pero ten en cuenta que no soluciona el error raíz. Además, buena idea si tienes una copia de seguridad reciente a mano, pero lo probé en mi foro de desarrollo y funcionó.

cd /var/discourse
./launcher enter app
rails c

pega todo el siguiente bloque y presiona Enter

sql = <<~SQL
  UPDATE topic_users
  SET last_read_post_number = topics.highest_post_number
  FROM topics
  WHERE topics.id = topic_users.topic_id
    AND COALESCE(topic_users.last_read_post_number, 0) < topics.highest_post_number
    AND topic_users.notification_level IN (2, 3, 4) -- Rastreo, Observando, Observando primer mensaje
SQL

# ejecutar la actualización
result = ActiveRecord::Base.connection.execute(sql)
puts "Se limpiaron correctamente #{result.cmd_tuples} temas no leídos en todo el sitio."

# forzar a los navegadores cliente a descartar su estado en caché y sincronizarse con la base de datos
MessageBus.publish("/topic-tracking-state", { clear: true })

los usuarios pueden tener que hacer una recarga forzada para ver el estado de no_leídos limpiado.

3 Me gusta

Ejecutar copia de seguridad. Descargar copia de seguridad. SSH al servidor. Ejecutar script.

South Park: Y se fue Meme

:white_check_mark: Problema resuelto.

Muchas gracias @Lilly. Marcaría esto como solución si la opción estuviera disponible. En su lugar, un impulso tendrá que bastar. :rocket: ¡Que tengas un buen día!

1 me gusta

Nota: las notificaciones no leídas fantasma desaparecerán una vez que terminemos de implementar:

Esperamos que no tarde demasiado.

6 Me gusta

¿Con «no leídas fantasma» te refieres a que en realidad no hay nada sin leer, solo un conteo incorrecto?
Recientemente he visto casos del contrario en varias instancias de Discourse: definitivamente había mensajes sin leer y el conteo era correcto, pero la página de «no leídas» simplemente no los mostraba.

Eso suena como un error diferente al que se está discutiendo aquí, pero mi informe de error fue cerrado como duplicado de este.

Este es el mismo problema…

estamos suprimiendo acciones pequeñas y nuestra implementación solo está a medio camino.

Por lo tanto, es muy probable que se trate de temas donde una acción pequeña ocurre al final del tema (por ejemplo, cierre, etc…).

1 me gusta

No, esos temas perdidos que describí en mi informe de error tienen genuinamente nuevas publicaciones. Como dije en mi informe de error:

«no leído» es como me mantengo al día con las conversaciones, por lo que esto conlleva un alto riesgo de que simplemente me pierda por completo que hay algo a lo que debería responder.

No me importa mucho perderme el «tema cerrado», pero este error corre el riesgo de que me pierda publicaciones reales.

Solo quería añadir que también estoy experimentando este problema desde el miércoles (27 de mayo) como usuario en el foro de la Comunidad de OpenAI, tanto en iOS como en escritorio.

GIF_2852759167

Añadido: esta grabación de pantalla parece muy lenta aquí. Lo siento por eso.

3 Me gusta

Disculpas por esto. @zogstrip está trabajando en una solución, no debería tardar mucho.

@RalfJung, esperemos un poco aquí. Una vez que tengamos la solución implementada, si no resuelve tu problema, podremos hacer más depuración.

2 Me gusta

¡No te preocupes! Solo quería dar visibilidad al error, ya que estoy viendo el mismo problema en la Comunidad de OpenAI también. Me alegra saber que ya se está trabajando en una solución.

1 me gusta

@zogstrip implementó una corrección para la regresión que causó esto:

OpenAI acaba de ser desplegado (quedan 2 minutos).

3 Me gusta

Desde esta mañana, mi lista de no leídos mostraba 21 temas cerrados por el personal de OpenAI que ya había visto/leído anteriormente.

2 Me gusta

(publicación eliminada por el autor)