Paginierung/Unendliches Scrollen der Überprüfungsliste nach einer Aktion

Ich habe festgestellt, dass es nach dem Bearbeiten eines Elements in der Prüfschlange, z. B. ‘Beitrag genehmigen’, nicht mehr möglich ist, weiter zu scrollen (weitere Beiträge über die unbegrenzte Scroll-Pagination laden). Zumindest in meinem Fall bei der Verwendung der Option ‘Sortiert nach:’ ‘Erstellt am’.

Browser: Firefox Desktop
Discourse: 2.5.0.beta5

1 „Gefällt mir“

Ich bin mir ziemlich sicher, dass wir diese Seite im vergangenen Jahr erheblich verbessert und das Ladeproblem behoben haben.

Kannst du das bitte zur erneuten Öffnung markieren, falls dies immer noch ein Problem ist?

1 „Gefällt mir“

@markersocial, hast du neue Details, die du teilen kannst? Es scheint, als ob dies bei dir immer noch passiert.

Die genauen Filter, die du eingerichtet hast, wären hilfreich, damit wir versuchen können, dies nachzuvollziehen.

2 „Gefällt mir“

Sicher :slight_smile:

Ich habe das erneut in Version 2.8.0beta4 getestet, und das Problem tritt bei mir weiterhin mit der Standard-Sortierung (Score) auf. Meiner Einschätzung nach ist es bei allen anderen Sortieroptionen aus früheren Tests ebenfalls derselbe Fehler.

Zur Reproduktion werden mindestens 11 Elemente in der Überprüfungsliste benötigt. Wenn Sie ein Element an der Spitze der Liste bearbeiten (genehmigen, ablehnen usw.), ist es anschließend nicht mehr möglich, nach unten zu scrollen und zur letzten Liste zu paginieren. Die gesamte Liste muss neu geladen werden, um wieder paginieren zu können.

2 „Gefällt mir“

Perfekt, danke für die Details! @sam, ich kann das nachvollziehen. Wie von @markersocial vorgeschlagen, ist die Reproduktion einfach: Markiere mindestens 11 Beiträge, öffne die Überprüfungsqueue, bearbeite die erste Flagge und scrolle dann nach unten.

3 „Gefällt mir“

Lassen Sie mich zunächst sagen, dass ich mit Ember nicht vertraut bin, daher kann es sein, dass ich hier und da die falschen Begriffe verwende.

Nachdem ein reviewable gelöst wurde, wird es aus der aktuellen Liste der reviewables entfernt, indem reject aufgerufen wird:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/controllers/review-index.js#L107

reject gibt ein Array zurück. Wenn die Variable reviewables auf das neue Array newList gesetzt wird (Zeile 114), wird die Klasse mit zusätzlichen Methoden wie loadMore() durch ein einfaches Array ersetzt. (Bearbeitung: Deshalb funktioniert das Laden vor dem Lösen eines Elements korrekt, aber nicht danach.)

Eine mögliche Lösung besteht darin, this.set("reviewables", newList); durch this.reviewables.set("content", newList); zu ersetzen.

3 „Gefällt mir“

Dies ist jetzt hier behoben :arrow_down:

5 „Gefällt mir“