Eliminar a otro usuario de una conversación crea una notificación inborrable

Cómo reproducir

  1. Crea un usuario temporal. (No olvides que puedes usar el truco del más. Así que username+whatever@gmail.com.)
  2. Envía un mensaje al usuario temporal. (Esto creará una notificación de alta prioridad).
  3. Elimina al usuario temporal del mensaje personal. (Espero que tu ortografía sea mejor que la mía).
  4. 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.

1 me gusta

Entonces, si eliminara a alguien, ¿recibiría una notificación, pero si la elimino, no debería recibirla?

1 me gusta

¿El usuario puede simplemente hacer clic en el botón Descartar en el menú de notificaciones?

5 Me gusta

Oh, qué barbaridad. Ni siquiera sabía que existía ese botón. Ahora que sé que existe, borra la notificación.

3 Me gusta

Oh, de acuerdo, ahora veo lo que dices aquí.

2 Me gusta

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).

2 Me gusta

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).

¿Me perdí algo en tus pasos de reproducción?

2 Me gusta

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.

PM

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.

2 Me gusta

Estás usando el menú de notificación heredado, que también está vinculado a las notificaciones en el menú del avatar.

Puedo reproducir tu problema con el menú de notificación heredado.

Las notificaciones han sido rediseñadas y el menú de notificación heredado no será compatible y se eliminará en el futuro.

Sugiero que configures el ajuste del menú de navegación en “Barra lateral” o “Menú desplegable de encabezado” :slight_smile:

2 Me gusta

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?

1 me gusta

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.

3 Me gusta