Ciao a tutti! Vorrei segnalare un bug.
Riproducibile su v2.4.5 e v2.5.0.
Prerequisiti
Crea un post con un upload di video/audio.
Ho testato con upload di media sicuri, ma il problema dovrebbe ripresentarsi anche con media non sicuri.
Avvia la modifica del post.
Apri la console di sviluppo del browser. Facoltativamente, imposta un filtro per le chiamate API di upload.
Attendi il completamento di tutte le richieste e poi pulisci la console.
Passaggi per riprodurre
Digita qualsiasi cosa nell’area di sinistra (di modifica).
Controlla la console di sviluppo del browser.
Risultato effettivo
Ogni tasto premuto viene considerato una modifica, quindi la digitazione semplice genera continuamente eventi di upload video.
Un gran numero di modifiche provoca l’invio di un’enorme quantità di richieste, portando al blocco delle richieste a causa del limite di frequenza dell’API e al disconnettersi automaticamente dal forum.
Risultato atteso
Nessuna richiesta di upload audio/video durante la modifica del post
Questa riga genera il bug. Chiamala funzione load dell’elemento DOM <video>/<audio> ogni volta che viene generata l’anteprima, di fatto ogni volta che il post viene modificato.
È strano. Riesco a riprodurre il problema solo se seleziono la casella “Disabilita cache” nella scheda Rete degli strumenti per sviluppatori del browser. Quando deseleziono “Disabilita cache” ottengo i risultati attesi. Sto usando Chrome su Ubuntu. Dal tuo video, sembra che tu non abbia selezionato “Disabilita cache”, quindi non sono sicuro di cosa stia causando la differenza.
«Disabilita cache» non deve influire sull’invio delle richieste. Influisce solo sulla provenienza del risultato di una richiesta: dalla cache del browser o dalla fonte reale.
Quelle richieste di caricamento vengono inviate dal codice che rigenera l’anteprima ad ogni battitura, il che comporta la creazione di un nuovo elemento DOM per video/audio. Di conseguenza, load viene chiamato per un nuovo elemento DOM, il che deve assolutamente inviare una richiesta.
Anche se si trattasse di un elemento DOM «in cache» (non creato di nuovo ogni volta), verrebbe inviata una richiesta una sola volta, indipendentemente dall’impostazione «Disabilita cache».
Ho dato un’occhiata e riesco in parte a riprodurlo con upload di video sicuri e non sicuri. A un certo punto sembra che vengano memorizzati nella cache e si smetta di inviare ripetutamente queste richieste, ma il problema persiste. La riga che hai indicato:
è stata aggiunta da me, ma ora non sembra avere alcun effetto. Se la rimuovo, le anteprime dei video continuano a funzionare correttamente. So che abbiamo svolto altri lavori con le miniature dei video ecc., che probabilmente hanno risolto il problema per cui avevo inserito quella riga. Quindi penso che la rimuoverò semplicemente, il che risolverà il problema delle richieste multiple.