Unendliche Scrollanfragen nach Themenlöschung

Fortsetzung der Diskussion von Mitgliedern erlauben, eingeschränkte Tags/Kategorien aus Tracking-Präferenzen zu entfernen:

Übersicht

Wenn ein Benutzer ein Thema aktiv betrachtet, das anschließend gelöscht wird, löst kontinuierliches Scrollen (nach oben oder unten) eine Endlosschleife von posts.json-API-Aufrufen aus. Diese Aufrufe geben durchweg einen 403 Forbidden-Fehler zurück, aber die Anwendung erkennt die Löschung nicht an oder versucht nicht, nicht existierende Inhalte zu laden, was zu anhaltender Hintergrundnetzwerkaktivität und einer beeinträchtigten Benutzererfahrung führt.

Schritte zur Reproduktion

  1. Vorbereitung (Admin/Moderator-Benutzer):
    • Melden Sie sich als Benutzer mit Berechtigungen zum Löschen von Themen an (z. B. Administrator oder Moderator).
    • Erstellen Sie ein neues Thema mit einigen Beiträgen, um sicherzustellen, dass genügend Inhalt zum Scrollen vorhanden ist.
    • Halten Sie die URL dieser Themen-Seite bereit.
  2. Benutzererfahrung (Regulärer Benutzer):
    • Melden Sie sich als regulärer Benutzer an (ohne Löschberechtigungen).
    • Öffnen Sie einen neuen Browser-Tab oder ein neues Fenster.
    • Navigieren Sie zu dem in Schritt 1 erstellten Thema.
    • Öffnen Sie die Entwicklertools Ihres Browsers und wechseln Sie zur Registerkarte “Netzwerk”. Löschen Sie alle vorhandenen Anfragen, um eine saubere Ansicht zu erhalten.
  3. Gleichzeitige Löschung & Interaktion:
    • Während der reguläre Benutzer auf der Themen-Seite (aus Schritt 2) ist, verwenden Sie das Administratoren-/Moderatorenkonto (aus Schritt 1), um das Thema zu löschen.
    • Unmittelbar nachdem das Thema gelöscht wurde, versucht der reguläre Benutzer, auf der nun gelöschten Themen-Seite nach oben oder unten zu scrollen.
  4. Beobachten:
    • Beobachten Sie im Netzwerk-Tab der Browser-Entwicklertools des regulären Benutzers kontinuierliche GET-Anfragen an https://discourse-url/t/xxxxx/posts.json? (wobei xxxxx die ID des gelöschten Themas ist).
    • Beachten Sie, dass alle diese Anfragen durchweg den HTTP-Statuscode 403 Forbidden zurückgeben.
    • Die Anwendung zeigt keine Meldung an, die darauf hinweist, dass das Thema gelöscht wurde, noch hört sie auf, diese fehlgeschlagenen Scroll-Anfragen zu senden.

Mögliche Folgen

  • In meiner Community verwenden wir Cloudflare, um Cyberangriffe zu verhindern, und dieser Fehler führte dazu, dass einige Benutzer zu viele Anfragen stellten und Ratenbegrenzungen erhielten.
1 „Gefällt mir“

Was ist Ihre aktuelle Discourse-Version?

Es gab kürzlich einen ähnlichen Bericht, der zu einer Korrektur führte:

3 „Gefällt mir“