Highcharts: Multi- [Violation] Adicionado ouvinte de evento não passivo a um evento 'touchstart' de bloqueio de rolagem ++

Criado em 9 jul. 2019  ·  41Comentários  ·  Fonte: highcharts/highcharts

Situação

No MacOS / Chrome
_CandleStick: Quando o StockTools está ativado_
Muitos eventListners perceptíveis não adequadamente manipulados lançados no console. refere-se principalmente ao evento touchstart
[Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive.

Reproduzir

Isso pode ser facilmente perceptível no console de qualquer demonstração baseada em reação do StockChart com o módulo stock-toos ativado.

Aqui está uma rápida demonstração ao vivo:
https://codesandbox.io/s/10yv629397
https://www.highcharts.com/stock/demo/stock-tools-gui

Vídeo:
https://i.imgur.com/Z80XISw.mp4

Screenshot 2019-07-08 at 16 38 38

Testado em
MacOS (Mojave) Chrome (versão 75.0.3770.100) e outras máquinas Mac e versões do Chrome.

Done Bug

Comentários muito úteis

Confirmo, posso reproduzi-lo agora - tenho os mesmos erros na consola do Windows.

Todos 41 comentários

Obrigado por relatar!

@sebastianbochan - você poderia dar uma olhada?

Nota interna
No stockTools, adicionamos eventos (clique / toque) por padrão H.addEvent . Na função, devemos adicionar suporte de {passive: true} para eventos de toque.

Existe alguma solução alternativa rápida até você adicionar suporte passivo?

Olá @slashvortal ,
Neste momento você pode sobrescrever a função H.addEvent , mas, o que é importante, ela precisa estar no lugar correto (antes de carregar os módulos).

Demo:

Obrigado @sebastianbochan , eu esperaria pela correção para poder usá-la com o wrapper highcharts-react.

Algum plano para consertar isso ainda? A demonstração de solução alternativa vinculada por @sebastianbochan ainda mostra 21 violações relacionadas a eventos para mim.

Screen Shot 2019-11-28 at 11 22 40

Oi @pjanaya

Infelizmente, ainda não tivemos tempo para priorizar isso.

@pawelfus Ok, obrigado. Talvez você deva considerar a remoção do rótulo "Tem solução alternativa"? Já que, pelo menos para mim, a solução alternativa não parece ser suficiente para eliminar os erros.

Nota interna:
É um problema geral, não apenas Highstock. Precisamos verificar se todos os avisos estão corretos, às vezes precisamos de preventDefault() e às vezes não podemos prometer que um desenvolvedor não chamará preventDefault() por meio de um dos callbacks.

Olá, todos. Há alguma atualização sobre esse problema?

Olá @ dave-brown755,
No momento não estamos trabalhando neste caso, portanto não temos novas informações sobre. Você tentou usar nossa solução alternativa?

Olá, não tentei nenhuma solução alternativa, pois parecia haver uma postagem subsequente solicitando que o rótulo da solução alternativa fosse removido. Você é capaz de descrever as etapas exatas que precisam ser seguidas para implementar a solução alternativa para permitir que o erro seja removido. Isso está afetando significativamente o desempenho do navegador para nós mesmos. Não quero me afastar dos gráficos altos, mas não seremos capazes de viver com a quantidade de erros sendo gerados. Espero que você possa ajudar. Obrigado Dave.

Obrigado pelo feedback. Eu adicionei inbox label que significa que o tíquete é priorizado.

Olá, alguma atualização sobre a prioridade do ticket?

Olá @ dave-brown755 - este tíquete já foi priorizado.

Estou esperando que isso seja consertado também
https://piyasa.paratic.com/

Pude ver que o tíquete foi priorizado, mas estava perguntando o que isso significa, qual é o tempo de espera típico para um tíquete que recebeu uma prioridade?

Isso significa que o tíquete será retirado assim que as atribuições atuais forem concluídas. Espero que esse problema seja corrigido na v8.0.1 ou v8.0.2.

Não vejo mais nenhum aviso no console (o Chrome 80 mais recente). Testado em 3 máquinas (Mac e Windows 10). Alguém pode confirmar se o problema ainda ocorre e fornecer as etapas exatas para reproduzi-lo?

Estou usando a v8.0.2, mas ainda vejo esta mensagem. :(

Apenas uma nota de esclarecimento: a v8.0.1 foi lançada (e a v8.0.2) e a v8.0.3 será lançada em breve por causa de outros bugs críticos. Não relacionado ao cronograma de lançamento que eu esperava quando disse que esperava que o problema fosse corrigido na v8.0.2.

@ raf18seb tentou depurar o problema há alguns dias, mas não conseguiu recriar. Mais detalhes (versão os + chrome) ou nova demonstração ao vivo - muito apreciada.

@pawelfus também estamos vendo essa violação, com a versão mais recente 8.0.4. Estamos voltando para a versão 5.0.11, onde o problema não existe, mas estamos procurando atualizar isso o mais rápido possível.

@ onur-celik postou um link acima onde o problema está presente para depuração. https://piyasa.paratic.com/

Estou usando um Mac com Chrome 80.

image

Obrigado! Eu posso ver esses dois erros. Ambos os eventos podem ser bloqueadores - por exemplo, quando você move o dedo ao redor do gráfico para ver a dica de ferramenta, você não quer rolar a página. O Chrome não deve mostrar esta violação (de acordo com as especificações, passive: true é definido por padrão ..).

@ raf18seb - você poderia verificar mais uma vez? Talvez seja um problema dependente do sistema operacional?

Confirmo, posso reproduzi-lo agora - tenho os mesmos erros na consola do Windows.

oi, esse problema está resolvido? alguma solução para este problema? Estou enfrentando o mesmo problema ao usar highchart para obter dados complexos da API

O problema ainda não foi resolvido. No momento não temos ETA para este tíquete, mas ele está em nosso grupo de tíquetes de alta prioridade.

ok obrigado pela resposta

Eu também gostaria muito de uma correção para isso ou apenas uma nota de quando ele será lançado.

Fico feliz em ver este problema "em andamento" :)

Você mencionou corrigido aqui. Quando essas alterações podem ser aplicadas nas versões CDN.

Olá @sharmankita - o problema ainda tem o rótulo in progress . Isso significa que não foi corrigido, ainda estamos trabalhando nisso.

Olá, alguma atualização sobre isso? Existe um HEC para a correção?

Olá @violetVo - sem ETA, ainda estamos trabalhando nisso.

Minha estimativa pessoal: nas próximas duas versões devem estar prontas.

O que acontece quando o evento é marcado como "passivo"?

elm.on("touchstart", function(ev) {
  // stuff
}, {
  passive: true // does this option help?
});

Não tenho certeza do que você quer dizer @richardeschloss - poderia explicar? Vou tentar responder às suas perguntas uma por uma:

O que acontece quando o evento é marcado como "passivo"?

Veja a descrição aqui: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

passive: true // esta opção ajuda?

Isso não funcionará no IE e Safari no iOS.

Pawel, parece que Rafal consertou esse. Eu vi o PR que ajuda a responder à minha pergunta. obrigado.

finalmente 🥰

Oi,
Obrigado pela correção! Ele está disponível na versão 8.2.2?

Hi @violetVo v8.2.2 foi lançado cerca de 2 semanas atrás. A correção estará disponível na próxima versão.

@pawelfus , você tem um prazo para o próximo lançamento? Apenas me perguntando.
Espero que você e sua equipe estejam seguros (re: cobiçado)!

Obrigado @forgivegod , estamos bem 👍 Espero que você também seja bom!

O próximo lançamento deve estar pronto em algumas semanas

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

balupton picture balupton  ·  3Comentários

sebastianbochan picture sebastianbochan  ·  3Comentários

KacperMadej picture KacperMadej  ·  3Comentários

KacperMadej picture KacperMadej  ·  3Comentários

jackie-benowitz picture jackie-benowitz  ·  3Comentários