Richieste di scorrimento infinito dopo l'eliminazione dell'argomento

Continuando la discussione da Consenti ai membri di rimuovere tag/categorie con restrizioni dalle preferenze di tracciamento:

Panoramica

Quando un utente sta visualizzando attivamente un argomento che viene successivamente eliminato, lo scorrimento continuo (verso l’alto o verso il basso) attiva un loop infinito di chiamate API posts.json. Queste chiamate restituiscono costantemente un errore 403 Forbidden, tuttavia l’applicazione non riconosce l’eliminazione né smette di tentare di caricare contenuti inesistenti, portando a un’attività di rete persistente in background e a un’esperienza utente compromessa.

Passaggi per Riprodurre

  1. Preparazione (Utente Admin/Moderatore):
    • Accedi come utente con privilegi di eliminazione degli argomenti (ad es. Amministratore o Moderatore).
    • Crea un nuovo argomento con alcuni post per assicurarti che ci sia contenuto da scorrere.
    • Tieni a portata di mano l’URL della pagina di questo argomento.
  2. Esperienza Utente (Utente Normale):
    • Accedi come utente normale (senza privilegi di eliminazione).
    • Apri una nuova scheda o finestra del browser.
    • Naviga all’argomento creato nel Passaggio 1.
    • Apri gli strumenti per sviluppatori del tuo browser e vai alla scheda “Network”. Elimina eventuali richieste esistenti per una visualizzazione pulita.
  3. Eliminazione e Interazione Simultanee:
    • Mentre l’utente normale si trova sulla pagina dell’argomento (dal Passaggio 2), utilizza l’account Amministratore/Moderatore (dal Passaggio 1) per eliminare l’argomento.
    • Subito dopo l’eliminazione dell’argomento, l’utente normale tenta di scorrere verso l’alto o verso il basso sulla pagina dell’argomento ora eliminato.
  4. Osserva:
    • Nella scheda Network del browser dell’utente normale, osserva le continue richieste GET inviate a https://discourse-url/t/xxxxx/posts.json? (dove xxxxx è l’ID dell’argomento eliminato).
    • Nota che tutte queste richieste restituiscono costantemente un codice di stato HTTP 403 Forbidden.
    • L’applicazione non visualizza alcun messaggio che indichi che l’argomento è stato eliminato, né smette di inviare queste richieste di scorrimento fallite.

Potenziali Conseguenze

  • Nella mia community, utilizziamo Cloudflare per prevenire attacchi informatici e questo bug ha causato ad alcuni utenti di effettuare troppe richieste, venendo limitati.
1 Mi Piace

Qual è la tua versione attuale di Discourse?

C’è stato un report simile di recente che ha portato a una correzione:

3 Mi Piace