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.

1 Mi Piace

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

1 Mi Piace

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

5 Mi Piace

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

3 Mi Piace

Ok, ora capisco cosa intendi.

2 Mi Piace

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

2 Mi Piace

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?

2 Mi Piace

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.

2 Mi Piace

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:

2 Mi Piace

Ieri ho segnalato questo stesso bug (non ho trovato questo topic). Sembra dipendere dalla navigazione del menu Legacy e era già presente nelle ultime versioni di 2.8.

Il workaround del pulsante “Dismiss All” non sembra funzionare se quella è l’unica notifica rimasta, poiché il pulsante è disabilitato in quel caso. Forse funziona se ci sono più notifiche, ma in quel caso la persona potrebbe chiudere cose che potrebbero essere rilevanti.

Così com’è, gli utenti si confonderanno e/o si frustreranno. Ai pochi che si lamentano potrebbe essere detto di usare il pulsante, ma ciò funzionerà solo in alcuni casi. Non dovrebbe essere spostato in Bug forse?

1 Mi Piace

È stato aperto un nuovo argomento su un comportamento simile in Bug con istruzioni più dettagliate su questo comportamento:

Quindi chiuderò questo, contrassegnato come risolto, a favore dell’altro. È un problema minore, ma averlo in Bug sembra più appropriato, soprattutto perché è stato segnalato più volte.

3 Mi Piace