Verschwindende Lesezeichen und erwartetes Verhalten von /bookmarks

Unsere Community berichtet, dass nach dem Update auf Discourse 3.0 vor etwa 2 Monaten ihre Lesezeichen manchmal auf mysteriöse Weise verschwinden. Ich habe die Beschwerden auf Benutzer eingegrenzt, die hauptsächlich /bookmarks (und nicht /my/activity/bookmarks) verwenden – es gibt dort ein verwandtes Usability-Problem zwischen den beiden, aber dazu komme ich später.

Im Moment bin ich hauptsächlich verwirrt über das erwartete Verhalten von /bookmarks, da dort nicht alle Lesezeichen der Benutzer angezeigt werden (wie unter /my/activity/bookmarks aufgelistet). Warum ist das so? Bei meinem eigenen Konto fehlen fast 1/3 der Lesezeichen: Sollten diese beiden Abschnitte nicht im Wesentlichen die exakt gleiche Anzahl von Lesezeichen/Themen auflisten?

Ich dachte, vielleicht unterstützt /bookmarks nur markierte Beiträge (und nicht Themen), aber das scheint nicht der Fall zu sein: Unsere Benutzer markieren konsequent einen Beitrag/ein Thema, sehen es einige Stunden oder Tage lang unter /bookmarks angezeigt, und dann… verschwindet es einfach? :confused: Wenn sie das Lesezeichen löschen, es erneut markieren, erscheint es eine Weile und verschwindet dann wieder. Um es klarzustellen, die Lesezeichen werden immer unter /my/activity/bookmarks angezeigt, sodass das Lesezeichen selbst existiert – aber aus irgendeinem Grund wird es nach einer Weile nicht mehr unter /bookmarks angezeigt. Es muss einen Unterschied zwischen den Inhalten der beiden Abschnitte geben, aber ich sehe ihn nicht – was übersehe ich? :thinking:


Der Grund, warum dies für unsere Benutzer besonders ärgerlich ist, liegt darin, dass sie /my/activity/bookmarks für ihren Hauptanwendungsfall als unbrauchbar empfinden, nämlich um herauszufinden, welche ihrer markierten Themen Aktualisierungen haben (innerhalb einer bestimmten Kategorie oder einfach im gesamten Forum).

Ich sehe viele nette Funktionen in der Benutzeroberfläche von /my/activity/bookmarks, aber sie erfüllen immer noch nicht ihren primären Zweck: die Möglichkeit, nach der letzten Aktivität zu sortieren und gleichzeitig zu sehen, welche Themen Aktualisierungen haben (Anzahl ungelesener Beiträge). Es wäre großartig, wenn die Sortierung dort auch funktionieren würde und die Anzahl der ungelesenen Beiträge in jedem Thema angezeigt würde, aber ich bin mir nicht sicher, wie die Funktionalität zum Filtern der Lesezeichen nach Kategorie unter /my/activity/bookmarks funktionieren würde, daher ist es vielleicht gerechtfertigt, dass es auch /bookmarks gibt.

Wie auch immer, vielleicht sind dies zwei getrennte Probleme (vielleicht ein Bug (?) und ein UX-Problem), aber sie sind miteinander verbunden: Ich habe die Community gedrängt, die “verschwindenden Lesezeichen” zu vermeiden, indem sie stattdessen /my/activity/bookmarks verwenden, aber für das, wofür sie es verwenden, funktioniert es wirklich nicht. Vielleicht können wir, wenn wir die “verschwindenden” Lesezeichen verstehen, einen Workaround finden – also: warum werden nicht alle Lesezeichen unter /bookmarks angezeigt?

5 „Gefällt mir“

Ich habe einige dieser Differenzen darauf zurückgeführt, dass /bookmarks keine mit Lesezeichen versehenen privaten Nachrichten enthält und wenn ein Thema mehrere mit Lesezeichen versehene Beiträge hat, wird das Thema unter /bookmarks nur einmal angezeigt.

Es fehlen jedoch immer noch Lesezeichen. Wir haben mehrere Mitglieder, bei denen Themen unter /my/activity/bookmarks angezeigt werden, die nicht immer unter /bookmarks angezeigt werden. Betonung auf immer, denn anfangs tun sie das immer, bis sie schließlich nach einigen Stunden/Tagen verschwinden. :anguished:

Auch dies geschah erst, als wir auf Discourse 3.0 aktualisiert haben, daher vermute ich einen Fehler.

Wir können keine Beiträge als Lesezeichen speichern, nur Themen :thinking:

Mein Verständnis ist, dass Sie bestimmte Beiträge als Lesezeichen speichern können, sogar mehrere Beiträge zum selben Thema:

4 „Gefällt mir“

Dein Verständnis ist wirklich valide und solide. Meins ist es nicht.

Wann zum Teufel haben wir das bekommen?

Dies, zusammen mit dem Markieren von Chatnachrichten (was nur funktioniert, wenn das Chat-Plugin aktiviert ist), gibt es schon seit einiger Zeit, zumindest seit FEATURE: Promote polymorphic bookmarks to default and migrate (#16729) · discourse/discourse@fcc2e7e · GitHub .

Das ist wirklich der Kern des Problems. Wir haben immer noch diese alte /bookmarks-Route, die wegen der Sortierung nach ungelesenen Beiträgen/Aktivität einigermaßen nützlich ist, aber wichtige Dinge der neuen Route vermisst, und wahrscheinlich hat die verwendete Abfrage auch Probleme mit Lesezeichen für Beiträge/Themen und zeigt überhaupt keine Chat-Lesezeichen an.

Das ist technisch sinnvoll, da es sich nur um eine Themenliste handelt, nicht um eine Beitragsliste. Dies ist einer der Hauptunterschiede zwischen der alten und der neuen Route.

Ich bin mir nicht sicher, was wir hier tun müssen. Ich werde es mir genauer ansehen und intern besprechen. Es ist nicht ideal, beide Routen zu haben. Es wäre schöner, wenn die neue Route die fehlende Funktion der alten erfüllen könnte.

1 „Gefällt mir“

Mir wird jetzt klar, dass ich mein Thema vielleicht in zwei aufteilen sollte: eines für UX und ein weiteres für Bug, da mein Hauptproblem (verschwindende Lesezeichen) vom Usability-Thema überschattet wird.

In der Zwischenzeit habe ich mich mit der Lesezeichenfunktion beschäftigt und einen weiteren Fehler gefunden, aber ich bin immer noch ratlos, warum Lesezeichen zufällig aus /bookmarks verschwinden. Es scheint aus irgendeinem Grund bei einigen Themen häufiger vorzukommen als bei anderen, aber ich habe kein gemeinsames Muster gefunden. Was mir wirklich seltsam vorkommt, ist, dass nach dem Lesezeichensetzen eines Elements dieses für eine beliebige Anzahl von Stunden/Tagen unter /bookmarks angezeigt zu werden scheint, bis es dort verschwindet und nur durch Entfernen des Lesezeichens und erneutes Lesezeichensetzen „behoben“ wird.

Um es klarzustellen: Dies ist kein Problem mit dem Setzen einer Lesezeichenerinnerung zum Löschen des Lesezeichens: Es sind keine Erinnerungen beteiligt und die Lesezeichen werden nicht gelöscht (sie werden immer noch unter /my/activity/bookmarks angezeigt) – sie fehlen nur nach einer Weile aus /bookmarks.

2 „Gefällt mir“

Dies wurde in Bug verschoben, da Support keines von beiden war, in der Hoffnung, dass es hier mehr Aufmerksamkeit erhält.

Entschuldigung für den indirekten Bump, aber wir haben eine ganze Reihe frustrierter Benutzer, die damit sehr unzufrieden sind. Vielleicht reduziert die Tatsache, dass /bookmarks nicht standardmäßig aktiviert ist (d. h. in der Benutzeroberfläche sichtbar ist), die Exposition gegenüber diesem Fehler, aber ich kann mir nicht vorstellen, dass dies spezifisch für unser Forum ist.

1 „Gefällt mir“

Wir ignorieren Sie nicht. :slight_smile: Wir überlegen gerade, wie wir am besten damit umgehen. Hoffentlich haben wir bald Neuigkeiten für Sie. :crossed_fingers:

1 „Gefällt mir“

Dieses Problem klingt frustrierend, aber ich konnte es bisher nicht reproduzieren und habe noch keine guten Vermutungen, was es verursachen könnte.

Ich werde das UX-Problem vorerst ignorieren und mich auf den Fehler konzentrieren.

Ich werde damit beginnen, das Problem neu zu formulieren:

Theoretische Schritte zur Reproduktion, aber nicht mit 100%iger Sicherheit:

  1. Beginnen Sie ohne Lesezeichen
    • Gehen Sie zu /bookmarks und vergewissern Sie sich, dass keine Themen in der Liste vorhanden sind
    • Gehen Sie zu /my/activity/bookmarks und vergewissern Sie sich, dass keine Lesezeichen in der Liste vorhanden sind
  2. Fügen Sie Lesezeichen zu einigen Beiträgen und Themen hinzu. (Zum Beispiel 15 Lesezeichen über 10 eindeutige Themen)
    • Wir glauben nicht, dass Erinnerungen hier eine Rolle spielen, aber vielleicht doch?
    • Wir wissen noch nicht, ob es wichtig ist, ob Sie einen Beitrag oder ein Thema mit einem Lesezeichen versehen
  3. Machen Sie sich eine Notiz, wie viele eindeutige Themen mit einem Lesezeichen versehen wurden
  4. Gehen Sie zu /bookmarks und vergewissern Sie sich, dass 10 Themen in der Liste sind
  5. Gehen Sie zu /my/activity/bookmarks und vergewissern Sie sich, dass 15 Elemente aus 10 Themen in der Liste sind
  6. Warten Sie
  7. Gehen Sie zurück zu /my/activity/bookmarks und vergewissern Sie sich, dass sich immer noch 15 Elemente aus 10 Themen in der Liste befinden
  8. Gehen Sie zu /bookmarks und sehen Sie, dass weniger als 10 Themen in der Liste sind

Wenn jemand mit einer frischen Installation dieses Problem mit größerer Sicherheit reproduzieren könnte, würde das sehr helfen, die Identifizierung des Problems hier voranzutreiben.

Ansonsten, wenn jemand das Problem sieht, nur mit diesen Schritten, können wir vielleicht ein paar Debugging-Schritte empfehlen, um das Problem zu identifizieren:

  1. Gehen Sie zu /my/activity/bookmarks und scrollen Sie nach unten.
  2. Zählen Sie die Anzahl der eindeutigen Themen (N)
  3. Gehen Sie zu /bookmarks und scrollen Sie nach unten.
  4. Sehen Sie, dass weniger als N Themen in der Liste sind
1 „Gefällt mir“

Vielen Dank, dass Sie sich damit beschäftigt haben – ich weiß, dass dies keine hohe Priorität auf der Liste der spannenden Bugs hat, die behoben werden müssen. :sweat_smile:

Ja, das sind ziemlich genau die richtigen Schritte, um dorthin zu gelangen, mit kleineren Anmerkungen, die ich später unten erwähnen werde.

Davon abgesehen könnte es schwierig sein, das Problem zu reproduzieren, indem man einfach die Bühne mit diesen Schritten bereitet, da es sich um ein zufälliges Problem handelt (tritt zu zufälligen Zeiten bei einem zufälligen Thema auf und verschwindet nach einer willkürlichen Zeitspanne). Regelmäßige Nutzung scheint erforderlich zu sein, und es ist unklar, ob oder was der Auslöser ist (was die Zeit sein könnte): Ich konnte den Fehler selbst nicht auf Abruf reproduzieren, und die Benutzer, die dies melden, sind alle viel aktiver als ich bei der Nutzung von /bookmarks.

Ich habe jedoch Berichte von mehreren verschiedenen Benutzern, die davon betroffen sind, was ich durch Konto-Imitation überprüft habe. Ich habe einige gebeten, zumindest einige der Themen, die aus /bookmarks verschwunden sind, nicht erneut zu bookmarken. Obwohl ich es nicht auf Abruf reproduzieren kann, habe ich immer noch Zugriff auf Konten, bei denen dies geschieht, und der Vergleich von /bookmarks und /my/activity/bookmarks zeigt die Unterschiede.

Obwohl ich keinen Admin-Zugriff auf unser Forum gewähren kann, führe ich gerne beliebige SQL-Abfragen oder Anfragen an die Discourse-API unserer Instanz (auch als die Benutzer, die davon betroffen sind) aus, wenn das hilft. Bitte senden Sie mir eine private Nachricht für unsere Forendetails, wenn jemand einen Blick darauf werfen möchte.

Ich habe kurz mit den Endpunkten /bookmarks.json und /my/activity/bookmarks.json herumgespielt, bin aber nicht weit gekommen: Es scheint, dass die Seite /bookmarks bereits mit der ersten Seite der Ergebnisse geladen wird und nur für weitere Seiten den Endpunkt aufruft, im Gegensatz zu /my/activity/bookmarks, das alle Lesezeichen-Daten vom Endpunkt abzurufen scheint. Daher konnte ich die API-Antworten nicht ganz vergleichen.

Ich bin kein Ruby-Entwickler, habe aber versucht herauszufinden, wo im Code diese beiden Endpunkte landen, um die Unterschiede zu verstehen. Da ich mit dem Tech-Stack nicht vertraut bin, habe ich mich im Controller verloren und nur UsersController#bookmarks gefunden.

Nun zu einigen Kommentaren zu den Schritten, die möglicherweise nicht sehr relevant sind, nur um explizit zu sein.

Das ist wahrscheinlich richtig, aber ich kann das nicht bestätigen, da alle betroffenen Benutzer in unserem Forum langjährige Benutzer mit vielen vorhandenen Lesezeichen sind und das Upgrade auf 3.0 dies gebracht hat. Da das Problem jedoch wieder auftritt, wenn man ein Lesezeichen entfernt und erneut hinzufügt, gehe ich davon aus, dass es auch passieren würde, wenn man mit einem leeren Blatt beginnt. Ein einzelner Berichterstatter sagte, es sei kurz nach dem Upgrade häufiger aufgetreten und sei seltener geworden… aber es könnte sein, dass sie einfach Lesezeichen verlieren, ohne es zu bemerken. :sweat_smile:

Ich habe mit ein paar Benutzern gesprochen, die geduldig genug waren, mir zu helfen, das zu verstehen, und mir wurde gesagt:

  • Sie bookmarken immer Themen, keine Beiträge.
  • Sie verwenden niemals die Erinnerungen für Lesezeichen.

Ich nehme an, das bedeutet nicht, dass es nicht mit Beiträgen und Erinnerungen passieren würde, nur dass es nicht davon abhängig zu sein scheint.

Kleine Anmerkung nur, um zu erwähnen, dass /my/activity/bookmarks auch Lesezeichen aus privaten Nachrichten anzeigen kann, sodass ein anderes N auch von dort stammen kann (etwas, das mich irgendwann verwirrt hat).


Nochmals, ich führe gerne SQL-Abfragen, API-Anfragen aus oder stelle weitere Informationen zur Verfügung, wenn das hilfreich ist. Mir ist vollkommen bewusst, dass es aufgrund des zufälligen Verhaltens schwierig ist, dies zu debuggen, aber deshalb sind die Benutzer auch frustriert.

1 „Gefällt mir“

Eine Theorie ist, dass topic_users.bookmarked möglicherweise irgendwie aus dem Takt gerät. Wenn Sie ein problematisches Thema identifiziert haben, können Sie versuchen, die Tabelle topic_users für die von Ihnen gefundene Benutzer-/Themenkombination abzufragen und zu sehen, ob bookmarked wahr oder falsch ist?

Außerdem bin ich neugierig, ob die neue experimentelle /filter-Funktion die „fehlenden“ Themen mit in:bookmarked anzeigt, z. B. Discourse Meta. Können Sie das auch versuchen und uns Bescheid geben?

1 „Gefällt mir“

Ja, das scheint der Fall zu sein.

Ich habe eines der „fehlenden“ Lesezeichen untersucht und topic_users.bookmarked war dafür auf false gesetzt. Dieses Thema wird nicht unter /bookmarks angezeigt, aber es ist unter /my/activity/bookmarks aufgeführt.

Und ich bin mir nicht sicher, ob es relevant ist, aber das topic_users.last_posted_at für diesen Datensatz hat ein Datum, das fast einen Monat alt ist (ungefähr als es verschwand), während das betreffende Thema seitdem fast täglich Beiträge hat.

Wie auch immer, ich bin mir nicht sicher, was dieses bookmarked-Flag berührt, aber ich schätze, es ist verdächtig.

Gibt es noch etwas, das ich überprüfen kann?

Würde ich gerne ausprobieren, aber wir sind auf Stable (3.0.3), also haben wir das noch nicht.

2 „Gefällt mir“

Das ist sehr nützlich. Vielen Dank. Wenn Sie eine Vorstellung davon haben, welche Version es vor dem Update auf 3.0.3 war, würde uns das auch helfen, zu isolieren, wann der Fehler eingeführt wurde.

Ich kann nicht garantieren, wann wir dies priorisieren können, aber ich denke, wir haben etwas, womit wir beginnen können, wenn wir damit anfangen.

2 „Gefällt mir“

Wir waren immer auf dem stabilen Zweig, daher waren wir wahrscheinlich vorher auf 2.8.14. Wir haben am 11. März aktualisiert, wahrscheinlich auf 3.0.1, und die erste Beschwerde kam am 18. März, daher nehme ich an, dass es theoretisch auch bis 3.0.2 sein könnte. Daher befürchte ich, dass dazwischen ziemlich viele 2.9 Beta-Releases liegen.

Wenn es irgendwo im Dateisystem ein Log gibt, um frühere Versionen zu ermitteln, kann ich dies überprüfen, aber 2.8.14...3.0.2 sollte richtig sein.


Ich bin mir nicht sicher, ob das hilfreich ist, da ich mit dem Schema nicht vertraut bin, aber ich habe die folgende Abfrage ausgeführt:

SELECT
  topic_users.user_id,
  topic_users.topic_id
FROM
  bookmarks,
  topic_users
WHERE
  bookmarks.user_id = topic_users.user_id
  AND bookmarkable_type = 'Topic'
  AND bookmarks.bookmarkable_id = topic_users.topic_id
  AND topic_users.bookmarked = false;

und habe über 3000 Treffer erhalten.

Ich vermute, dass etwas Ähnliches auf jedem Produktionssystem ausgeführt werden kann, um einige “fehlende” Lesezeichen zu finden, was hoffentlich dem Reproduzieren des Problems einen Schritt näher bringt. Entschuldigung, wenn ich das Offensichtliche sage, ich versuche nur, hilfreich zu sein. :sweat_smile:

2 „Gefällt mir“

FWIW, wir sind jetzt auf 3.1.2 und das Problem besteht weiterhin.

Benutzer berichten, dass einige Lesezeichen bis zu 5 Mal am Tag „verschwinden“ (nachdem sie jedes Mal erneut als Lesezeichen markiert wurden). So wie es ist, ist die Funktionalität einfach zu kaputt, um sie zu nutzen, und es gibt keine gute Alternative, die das gleiche Funktionsniveau bietet.

Da es nun eine Möglichkeit gibt, es zu reproduzieren (per SQL-Abfrage) und eine Reihe von Versionen, in denen der Fehler eingeführt wurde, darf ich hoffen, dass dies irgendwann behoben wird?

Oh, jetzt, wo Sie auf 3.1.2 sind, können Sie beim nächsten Mal, wenn Sie dies sehen, prüfen, ob diese Themen auch in /filter fehlen oder ob sie dort angezeigt werden?

Ich denke, die Antwort auf diese Frage wird uns helfen zu entscheiden, was wir hier tun.

3 „Gefällt mir“

Ich habe die Funktion /filter getestet und es scheint, dass das Problem auch mit einer in:bookmarked-Suche auftritt.

Aufgrund der zufälligen Natur, wann sie verschwinden, habe ich dies getestet, indem ich zuerst ein “beleidigendes” Lesezeichen gefunden habe, indem ich die zuvor gepostete SQL-Abfrage verwendet habe, und dann diesen Benutzer nachgeahmt habe. Dabei habe ich erfolgreich ein Lesezeichen gefunden, das:

  1. das Lesezeichen ist unter /my/activity/bookmarks vorhanden (wie zu erwarten),
  2. aber das Lesezeichen wird überhaupt nicht unter /bookmarks aufgeführt (sollte aber),
  3. und wird unter /filter?q=in%3Abookmarked nicht angezeigt.

Bei der Abfrage der bookmarks-Datenbanktabelle ist es natürlich vorhanden. Bei der Abfrage der topic_users-Tabelle ist die Spalte bookmarked jedoch auf false gesetzt, was meiner Vermutung nach mit dem Problem zusammenhängen könnte?

Um es klarzustellen, dieses Konto hatte auch Lesezeichen, bei denen das Lesezeichen an allen 3 oben genannten Stellen angezeigt wurde (wie es sein sollte) – aber dies ist ein vorübergehender Zustand und sie “verschwinden” schließlich. Die SQL-Abfrage scheint nur die problematischen zurückzugeben. Daher sollte die Ausführung auf einem stark frequentierten Produktionssystem und die Nachahmung des jeweiligen Benutzers die Reproduktion des Problems ermöglichen.

1 „Gefällt mir“

Danke @mentalstring. Ich werde das mit diesen neuen Informationen noch einmal an das Team weitergeben und sehen, was wir als Nächstes entwickeln.

2 „Gefällt mir“

@mentalstring Danke, dass Sie uns all die Zeit über die Geduld bewahrt haben. Es tut uns leid, dass es so lange gedauert hat, bis wir die Ursache gefunden haben. Ich habe heute die Ursache und eine Möglichkeit zur Reproduktion gefunden, basierend auf den von Ihnen bereitgestellten Daten und einem Bericht im Data Explorer auf Meta. Zur Reproduktion:

  • Setzen Sie ein Lesezeichen für ein Thema und setzen Sie keine Lesezeichen für Beiträge darin
  • Löschen oder stellen Sie einen Beitrag im Thema wieder her

Dies wird durch diesen Job verursacht (vor Jahren von mir hinzugefügt), der Topic-Level-Lesezeichen nicht berücksichtigt:

Daher ist eine Korrektur auf dem Weg, zusammen mit einer Datenmigration zur Korrektur bestehender Datensätze. Ich werde hier erneut posten, wenn ich sie zusammengeführt habe.

3 „Gefällt mir“