Si eres un administrador, suplanta al usuario temporal e intenta borrar la notificación. (¡Ja, ja, ja!)
Mitigación
Un administrador puede eliminar el mensaje, lo que borrará la notificación. El truco está en encontrar la notificación. Yo la gestiono usando esta consulta:
-- [params]
-- int :user_id
SELECT *
from notifications
where user_id = :user_id
and high_priority
and not read
No creo que el usuario pueda borrar la notificación por sí mismo, ya que no puede visitar el mensaje privado aunque tenga la URL.
Posible solución
Cuando alguien es eliminado de una conversación, también se debe eliminar la notificación.
Por lo que vale, sigo pensando que la notificación debería eliminarse/borrarse si el destinatario ya no puede ver el mensaje. Tener un respaldo (el botón “Descartar”) es bueno, pero sigue siendo un poco como manipular al usuario haciéndole creer que la notificación permanece. Además, el botón descarta todo, lo que podría no ser lo que un usuario quiere. (Aunque, para ser justos, la mayoría de la gente solo notará el problema si ha descartado todas sus otras notificaciones de la manera normal).
Hola Jon, es una pequeña molestia que podemos eliminar muy fácilmente, pero no pude reproducirla:
La notificación dentro del menú de usuario también se elimina tan pronto como hacemos clic en el MP (lo que lleva a una página de “¡Uy! Esa página no existe o es privada”, ya que la cuenta no tiene acceso a ella).
Probé con un moderador en nuestro sistema de producción y la página “¡Oops! Esa página no existe o es privada” no eliminó la notificación. Pero nuestro sistema de producción todavía está en 2.9.0.beta14. Justo ahora, cuando hice esa prueba en mi propio servidor de Discourse, que es 3.1.0.beta2, la notificación desaparece cuando el destinatario intenta acceder a la URL. Entonces, ¿tal vez esa parte del problema ya se ha solucionado?
Sin embargo, no veo ninguna forma de que el destinatario vea el mensaje después de que se le haya eliminado del hilo del MP. Podría pasarle la URL al destinatario fuera de banda, pero es poco probable que eso suceda en una situación real. En cambio, el destinatario tendrá una notificación sin forma de saber la URL o incluso quién la inició. Aquí hay una captura de pantalla de una cuenta completamente nueva que ha sido notificada de un MP al que no puede acceder:
Esto es en 3.1.0.beta2. Puedes ver la notificación añadida si tienes otra ventana abierta en la vista del usuario temporal. Pero no hay ningún elemento para seleccionar después de que el usuario ha sido eliminado.
No veo “Un MP de prueba” ni en el video ni en la captura de pantalla de la vista del usuario Dummy. Me resultó mucho más fácil depurar con un usuario dummy completamente nuevo.
Ayer reporté este mismo error (no encontré este tema). Parece depender de la navegación del menú Legacy, y ya estaba presente en las últimas versiones de 2.8.
La solución alternativa del botón Descartar todo no parece funcionar si esa es la única notificación que queda, ya que el botón está deshabilitado en ese caso. Quizás funcione si hay más notificaciones, pero entonces la persona podría estar descartando cosas que podrían ser relevantes.
Tal como está, los usuarios se confundirán y/o se frustrarán. A los pocos que se quejen se les podría decir que usen el botón, pero eso solo funcionará en algunos casos. ¿No debería esto moverse a Bug quizás?
Se abrió un nuevo tema sobre un comportamiento similar en Bug con instrucciones más detalladas sobre este comportamiento:
Así que cerraré este marcado como resuelto en favor del otro. Es un problema menor, pero tenerlo en Bug se siente más apropiado, especialmente dado que se ha informado varias veces.