Das Entfernen eines anderen Benutzers aus einer Konversation erzeugt eine nicht löschbare Benachrichtigung

Reproduktionsschritte

  1. Erstellen Sie einen temporären Benutzer. (Vergessen Sie nicht, dass Sie den Plus-Trick verwenden können. Also username+whatever@gmail.com.)
  2. Senden Sie eine Nachricht an den temporären Benutzer. (Dies erstellt eine Benachrichtigung mit hoher Priorität.)
  3. Entfernen Sie den temporären Benutzer aus der persönlichen Nachricht. (Hoffentlich ist Ihre Rechtschreibung besser als meine.)
  4. Wenn Sie ein Administrator sind, geben Sie sich als temporärer Benutzer aus und versuchen Sie, die Benachrichtigung zu löschen. (Whah ha ha!)

Abhilfemaßnahmen

Ein Administrator kann die Nachricht löschen, wodurch die Benachrichtigung gelöscht wird. Der Trick besteht darin, die Benachrichtigung zu finden. Ich verwalte sie mit dieser Abfrage:

-- [params]
-- int :user_id 

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

Ich glaube nicht, dass der Benutzer die Benachrichtigung selbst löschen kann, da er die PM nicht besuchen kann, selbst wenn er die URL hat.

Mögliche Lösung

Wenn jemand aus einer Konversation entfernt wird, entfernen Sie auch die Benachrichtigung.

1 „Gefällt mir“

Wenn ich also jemanden entferne, erhält er eine Benachrichtigung, aber wenn ich das entferne, sollte er keine erhalten?

1 „Gefällt mir“

Kann der Benutzer einfach auf die Schaltfläche Schließen im Benachrichtigungsmenü klicken?

5 „Gefällt mir“

Ach du meine Güte. Ich wusste gar nicht, dass es diese Schaltfläche gibt. Sie löscht jetzt die Benachrichtigung, da ich weiß, dass sie existiert.

3 „Gefällt mir“

Okay, ich verstehe jetzt, was Sie meinen.

2 „Gefällt mir“

Meiner Meinung nach sollte die Benachrichtigung gelöscht/entfernt werden, wenn der Empfänger die Nachricht nicht mehr anzeigen kann. Eine Rückfallebene (die Schaltfläche „Schließen“) ist gut, aber es ist immer noch ein wenig so, als würde man dem Benutzer vorspielen, dass die Benachrichtigung bestehen bleibt. Außerdem schließt die Schaltfläche alles, was der Benutzer möglicherweise nicht möchte. (Obwohl, fairerweise muss man sagen, dass die meisten Leute das Problem nur bemerken, wenn sie alle anderen Benachrichtigungen auf normale Weise gelöscht haben.)

2 „Gefällt mir“

Hallo Jon, es ist zwar eine kleine Unannehmlichkeit, die wir sehr leicht beheben können, aber ich konnte sie nicht reproduzieren:

Die Benachrichtigung im Benutzermenü wird auch entfernt, sobald wir auf die PM klicken (was zu einer Seite „Hoppla! Diese Seite existiert nicht oder ist privat.“ führt, da das Konto keinen Zugriff darauf hat).

Habe ich etwas in deinen Reproduktionsschritten übersehen?

2 „Gefällt mir“

Ich habe mit einem Moderator in unserem Produktionssystem getestet und die Seite „Hoppla! Diese Seite existiert nicht oder ist privat.“ hat die Benachrichtigung nicht gelöscht. Aber unser Produktionssystem ist immer noch auf 2.9.0.beta14. Gerade als ich diesen Test auf meinem eigenen Discourse-Server durchgeführt habe, der 3.1.0.beta2 ist, verschwindet die Benachrichtigung, wenn der Empfänger die URL aufruft. Vielleicht wurde dieser Teil des Problems also bereits behoben?

Allerdings sehe ich keine Möglichkeit für den Empfänger, die Nachricht zu sehen, nachdem er aus dem PM-Thread entfernt wurde. Ich könnte die URL außer der Reihe an den Empfänger weitergeben, aber das wird in einer realen Situation wahrscheinlich nicht passieren. Stattdessen erhält der Empfänger eine Benachrichtigung, ohne die URL oder sogar den Initiator zu kennen. Hier ist ein Screenshot eines brandneuen Kontos, das über eine PM benachrichtigt wurde, auf die es keinen Zugriff hat:

Dies ist auf 3.1.0.beta2. Sie können die hinzugefügte Benachrichtigung sehen, wenn Sie ein weiteres Fenster mit der Ansicht des temporären Benutzers geöffnet haben. Aber nach der Entfernung des Benutzers gibt es kein Element zum Auswählen.

PM

Ich sehe „A test pm“ weder im Video noch im Screenshot der Ansicht des Dummy-Benutzers. Ich fand es viel einfacher, mit einem komplett neuen Dummy-Benutzer zu debuggen.

2 „Gefällt mir“

Sie verwenden das Legacy-Benachrichtigungsmenü, das auch mit den Benachrichtigungen im Avatar-Menü verknüpft ist.

Ich kann Ihr Problem mit dem Legacy-Benachrichtigungsmenü reproduzieren.

Benachrichtigungen wurden tatsächlich überarbeitet und das Legacy-Benachrichtigungsmenü wird in Zukunft nicht mehr unterstützt und entfernt.

Ich schlage vor, Sie setzen die Einstellung Navigationsmenü auf „Seitenleiste“ oder „Kopfzeilen-Dropdown“ :slight_smile:

2 „Gefällt mir“

Gestern habe ich diesen gleichen Fehler gemeldet (habe dieses Thema nicht gefunden). Es scheint vom Legacy-Menü abhängig zu sein und war bereits in den neuesten Versionen von 2.8 vorhanden.

Die Problemumgehung mit der Schaltfläche “Alle verwerfen” scheint nicht zu funktionieren, wenn dies die einzige verbleibende Benachrichtigung ist, da die Schaltfläche in diesem Fall deaktiviert ist. Vielleicht funktioniert sie, wenn es mehr Benachrichtigungen gibt – aber dann könnte die Person Dinge verwerfen, die relevant sein könnten.

So wie es ist, werden die Benutzer nur verwirrt und/oder frustriert sein. Die wenigen, die sich beschweren, werden vielleicht angewiesen, die Schaltfläche zu verwenden, aber das funktioniert nur in einigen Fällen. Sollte dies nicht zu Bug verschoben werden?

1 „Gefällt mir“

Ein neues Thema zu ähnlichem Verhalten wurde in Bug mit detaillierteren Anweisungen zu diesem Verhalten eröffnet:

Daher schließe ich dieses als gelöst markierte Thema zugunsten des anderen. Es ist ein kleines Problem, aber es ist in Bug besser aufgehoben, zumal es mehrfach gemeldet wurde.

3 „Gefällt mir“