Olá a todos! Gostaria de reportar um bug.
Reproduzido nas versões v2.4.5 e v2.5.0.
Pré-requisitos
Crie uma postagem com um upload de vídeo/áudio.
Testei com upload de mídia segura, mas deve ser reproduzido também com mídia não segura.
Inicie a edição da postagem.
Abra o console de desenvolvedor do navegador. Opcionalmente, configure um filtro para a API de upload.
Aguarde até que todas as solicitações sejam concluídas e limpe o console.
Passos para reproduzir
Digite qualquer coisa na área esquerda (de edição).
Verifique o console de desenvolvedor do navegador.
Resultado atual
Cada tecla pressionada é considerada uma alteração, então a digitação simples está constantemente criando eventos de upload de vídeo.
Muitas alterações causarão o envio de uma grande quantidade de solicitações, o que leva ao bloqueio de solicitações devido ao limite de taxa da API e ao deslogamento automático do fórum.
Resultado esperado
Nenhuma solicitação de upload de áudio/vídeo durante a edição da postagem
Isso é estranho. Só consigo reproduzir o problema se selecionar a caixa de seleção “Desabilitar cache” na aba Rede do meu inspetor web. Quando desmarco “Desabilitar cache”, obtenho os resultados esperados. Estou usando o Chrome no Ubuntu. Pelo seu vídeo, parece que você não tem “Desabilitar cache” selecionado, então não tenho certeza do que está causando a diferença.
“Desativar cache” não deve afetar o envio de solicitações. Isso afeta apenas a origem do resultado de uma solicitação — se vem do cache do navegador ou da fonte real.
Essas solicitações de upload são enviadas pelo código que re-renderiza a prévia a cada tecla pressionada, o que causa a criação de um novo elemento DOM de vídeo/áudio. Portanto, load é chamado para um novo elemento DOM, o que definitivamente deve enviar uma solicitação.
Mesmo que fosse um elemento DOM “em cache” (nem sempre recém-criado), ele envia uma solicitação apenas uma vez, independentemente da opção “Desativar cache”.
Eu analisei isso e consigo reproduzir parcialmente o problema tanto com uploads de vídeo seguros quanto não seguros. Em certo ponto, parece que há um cache e as requisições em excesso param, mas ainda assim é um problema. A linha que você apontou:
foi adicionada por mim, mas atualmente não parece afetar nada. Se eu removê-la, as prévias de vídeo continuam funcionando normalmente. Sei que realizamos outros trabalhos com miniaturas de vídeo etc., que provavelmente corrigiram qualquer problema para o qual eu tinha colocado essa linha ali. Portanto, acho que vou apenas removê-la, o que resolverá o problema das múltiplas requisições.