La rimozione di un altro utente da una conversazione crea una notifica non eliminabile

Come riprodurre

  1. Crea un utente temporaneo. (Non dimenticare che puoi usare il trucco del più. Quindi username+whatever@gmail.com.)
  2. Invia un messaggio all’utente temporaneo. (Questo creerà una notifica ad alta priorità.)
  3. Rimuovi l’utente temporaneo dal messaggio personale. (Speriamo che il tuo ortografia sia migliore della mia.)
  4. Se sei un amministratore, impersona l’utente temporaneo e prova a cancellare la notifica. (Whah ha ha!)

Mitigazione

Un amministratore può eliminare il messaggio, il che cancellerà la notifica. Il trucco è trovare la notifica. Io la gestisco usando questa query:

-- [params]
-- int :user_id 

SELECT * 
from notifications 
where user_id = :user_id
      and high_priority
      and not read

Non credo che l’utente possa cancellare la notifica da solo poiché non può visitare il PM anche se ha l’URL.

Possibile soluzione

Quando qualcuno viene rimosso da una conversazione, rimuovi anche la notifica.

Quindi se rimuovessi qualcuno riceverebbe una notifica, ma se la rimuovessi io non la dovrebbe ricevere?

L’utente può semplicemente fare clic sul pulsante \u003ckbd\u003eIgnora\u003c/kbd\u003e nel menu delle notifiche?

Oh, che dispiacere. Non sapevo nemmeno che esistesse quel pulsante. Ora che so che esiste, cancella la notifica.

Ok, ora capisco cosa intendi.

Per quel che vale, penso ancora che la notifica debba essere eliminata/cancellata se il destinatario non è più in grado di visualizzare il messaggio. Avere un’ancora di salvezza (il pulsante “Ignora”) è un bene, ma è ancora un po’ come fare gaslighting all’utente che la notifica rimanga. Inoltre, il pulsante elimina tutto, il che potrebbe non essere ciò che un utente desidera. (Anche se, a dire il vero, la maggior parte delle persone noterà il problema solo se ha cancellato tutte le altre notifiche nel modo normale.)

Ciao Jon, è sicuramente un piccolo inconveniente di cui possiamo sbarazzarci molto facilmente, ma non sono riuscito a riprodurlo:

La notifica all’interno del menu utente viene rimossa anche non appena clicchiamo sul PM (che porta a una pagina “Oops! Questa pagina non esiste o è privata.” poiché l’account non vi ha accesso).

Mi sono perso qualcosa nei tuoi passaggi di riproduzione?

Ho testato con un moderatore sul nostro sistema di produzione e la pagina “Oops! Questa pagina non esiste o è privata.” non ha cancellato la notifica. Ma il nostro sistema di produzione è ancora su 2.9.0.beta14. Proprio ora, quando ho effettuato quel test sul mio server Discourse, che è 3.1.0.beta2, la notifica scompare quando il destinatario prova l’URL. Quindi forse quella parte del problema è già stata risolta?

Tuttavia, non vedo alcun modo per il destinatario di vedere il messaggio dopo che è stato rimosso dal thread PM. Potrei passare l’URL al destinatario fuori banda, ma è improbabile che accada in una situazione reale. Invece, il destinatario avrà una notifica senza alcun modo di conoscere l’URL o persino chi l’ha avviata. Ecco uno screenshot di un account nuovo di zecca che è stato avvisato di un PM a cui non può accedere:

Questo è su 3.1.0.beta2. Puoi vedere la notifica aggiunta se hai un’altra finestra aperta sulla vista dell’utente temporaneo. Ma non c’è nessun elemento da selezionare dopo che l’utente è stato rimosso.

PM

Non vedo “A test pm” né nel video né nello screenshot della vista dell’utente Dummy. Ho trovato molto più semplice eseguire il debug con un utente dummy completamente nuovo.

Stai usando il menu di notifica Legacy, che è anche collegato alle notifiche nel menu dell’avatar.

Posso riprodurre il tuo problema con il menu di notifica Legacy.

Le notifiche sono state effettivamente rielaborate e il menu di notifica Legacy non sarà supportato e verrà rimosso in futuro.

Ti suggerisco di impostare l’impostazione menu di navigazione su “Sidebar” o “Header Dropdown” :slight_smile:

Ieri ho segnalato questo stesso bug (non avevo trovato questa discussione). Sembra dipendere dalla navigazione del menu legacy ed era già presente nelle versioni più recenti della 2.8.

La soluzione alternativa del pulsante “Ignora tutto” non sembra funzionare se è l’unica notifica rimasta, poiché in quel caso il pulsante è disabilitato. Forse funziona se ci sono altre notifiche, ma in tal caso l’utente potrebbe ignorare elementi che potrebbero essere rilevanti.

Attualmente, gli utenti si confonderanno e/o si frustreranno. Quelli che si lamentano potrebbero essere invitati a usare il pulsante, ma ciò funzionerà solo in alcuni casi. Non sarebbe meglio spostare questa segnalazione in Contribute > Bug?

È stato aperto un nuovo argomento su un comportamento simile in Contribute > Bug, con istruzioni più dettagliate su tale comportamento:

Quindi chiuderò questo, contrassegnato come risolto, a favore dell’altro. Si tratta di un problema minore, ma è più appropriato tenerlo in Contribute > Bug, soprattutto perché è stato segnalato più volte.