Highcharts: Multi- [Violation] Ajout d'un écouteur d'événement non passif à un événement 'touchstart' bloquant le défilement ++

Créé le 9 juil. 2019  ·  41Commentaires  ·  Source: highcharts/highcharts

Situation

Sur MacOS / Chrome
_CandleStick: lorsque les StockTools sont activés_
Beaucoup d'événements notables non gérés correctement jetés dans la console. fait principalement référence à l'événement 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.

Reproduire

Cela peut être facilement perceptible dans la console de toute démo basée sur les réactions de StockChart avec le module stock-toos activé.

Voici une rapide démos en direct:
https://codesandbox.io/s/10yv629397
https://www.highcharts.com/stock/demo/stock-tools-gui

Vidéo:
https://i.imgur.com/Z80XISw.mp4

Screenshot 2019-07-08 at 16 38 38

Testé sur
MacOS (Mojave) Chrome (Version 75.0.3770.100) et autres machines Mac et versions Chrome.

Done Bug

Commentaire le plus utile

Je confirme, je suis capable de le reproduire maintenant - j'ai les mêmes erreurs dans la console sous Windows.

Tous les 41 commentaires

Merci d'avoir signalé!

@sebastianbochan - pourriez-vous jeter un coup d'œil?

Note interne
Dans stockTools, nous ajoutons des événements (click / touch) par défaut H.addEvent . Dans la fonction, nous devrions ajouter le support de {passive: true} pour les événements tactiles.

Existe-t-il une solution de contournement rapide jusqu'à ce que vous ajoutiez un support passif?

Salut @slashvortal ,
À ce moment, vous pouvez écraser la fonction H.addEvent , mais, ce qui est important, il faut qu'elle soit à la bonne place (avant de charger les modules).

Démo:

Merci @sebastianbochan , j'attendrais le correctif pour pouvoir l'utiliser avec le wrapper highcharts-react.

Des plans pour résoudre ce problème encore? La démo de contournement liée par @sebastianbochan me montre toujours 21 violations liées aux événements.

Screen Shot 2019-11-28 at 11 22 40

Salut @pjanaya

Malheureusement, nous n'avons pas encore eu le temps de prioriser cela.

@pawelfus Ok, merci. Peut-être devriez-vous envisager de supprimer l'étiquette «A contournement»? Depuis, au moins pour moi, la solution de contournement ne semble pas être suffisante pour éliminer les erreurs.

Note interne:
C'est un problème général, pas seulement Highstock. Nous devons vérifier si tous les avertissements sont corrects, parfois nous avons besoin de preventDefault() et parfois nous ne pouvons pas promettre qu'un développeur n'appellera pas preventDefault() via l'un des rappels.

Salut à tous, y a-t-il une mise à jour sur ce problème?

Salut @ dave-brown755,
Pour le moment, nous ne travaillons pas sur ce cas, nous n'avons donc pas de nouvelles informations sur. Avez-vous essayé d'utiliser notre solution de contournement?

Salut, je n'ai essayé aucune solution de contournement car il semblait y avoir un message ultérieur demandant la suppression de l'étiquette de contournement. Êtes-vous en mesure de décrire les étapes exactes à suivre pour mettre en œuvre la solution de contournement afin de permettre la suppression de l'erreur. Cela a un impact significatif sur les performances du navigateur pour nous-mêmes.Je ne veux pas m'éloigner des graphiques élevés, mais nous ne pourrons pas vivre avec le nombre d'erreurs générées. J'espère que vous pouvez aider. Merci Dave.

Merci pour votre retour. J'ai ajouté le inbox label ce qui signifie que le ticket est prioritaire.

Salut, une mise à jour sur la priorité du billet?

Salut @ dave-brown755 - ce ticket est déjà prioritaire.

J'attends que cela soit réglé aussi
https://piyasa.paratic.com/

Je pouvais voir que le ticket avait été priorisé, mais je demandais ce que cela signifie, quel est le délai typique pour un ticket qui a reçu une priorité?

Cela signifie que le ticket sera récupéré une fois les affectations en cours terminées. Je m'attends à ce que ce problème soit résolu dans la v8.0.1 ou la v8.0.2.

Je ne vois plus d'avertissement dans la console (dernier Chrome 80). Testé sur 3 machines (Mac et Windows 10). Quelqu'un peut-il confirmer si le problème persiste et fournir les étapes exactes pour le reproduire?

J'utilise la v8.0.2 mais je vois toujours ce message. :(

Juste une note de clarification: la v8.0.1 a été publiée (et la v8.0.2) et la v8.0.3 sera publiée sous peu à cause d'autres bogues critiques. Pas lié au calendrier de publication auquel je m'attendais quand j'ai dit que je prévoyais que le problème sera résolu dans la v8.0.2.

@ raf18seb a tenté de déboguer le problème il y a quelques jours, mais n'a pas pu le recréer. Plus de détails (version os + chrome) ou nouvelle démo en direct - très appréciée.

@pawelfus, nous constatons également cette violation, avec la dernière version 8.0.4. Nous revenons à la version 5.0.11 où le problème n'existe pas, mais nous cherchons à le mettre à jour dès que possible.

@ onur-celik a publié un lien ci-dessus où le problème est présent pour le débogage. https://piyasa.paratic.com/

J'utilise un Mac avec Chrome 80.

image

Merci! Je peux voir ces deux erreurs. Les deux événements peuvent être bloquants - par exemple, lorsque vous déplacez votre doigt sur le graphique pour voir l'info-bulle, vous ne voulez pas faire défiler votre page. Chrome ne doit pas afficher cette violation (selon les spécifications, passive: true est défini par défaut ..).

@ raf18seb - pourriez-vous vérifier à nouveau? C'est peut-être un problème dépendant du système d'exploitation?

Je confirme, je suis capable de le reproduire maintenant - j'ai les mêmes erreurs dans la console sous Windows.

salut, ce problème est-il résolu? une solution à ce problème? Je suis confronté au même problème lorsque j'utilise highchart pour obtenir des données complexes à partir de l'API

Le problème n'a pas encore été résolu. Pour le moment, nous n'avons pas d'ETA pour ce billet, mais il fait partie de notre groupe de billets prioritaire.

d'accord, merci pour la réponse

J'apprécierais également vraiment un correctif pour cela ou juste une note de quand il pourrait être publié.

Je suis heureux de voir ce numéro "en cours" :)

Vous avez mentionné fixe ici. Quand ces modifications peuvent-elles être appliquées dans les versions CDN?

Salut @sharmankita - le problème a toujours l'étiquette in progress . Cela signifie que ce n'est pas corrigé, nous y travaillons toujours.

Salut, une mise à jour à ce sujet? Y a-t-il un ETA pour le correctif?

Salut @violetVo - pas d'ETA, nous travaillons toujours là-dessus.

Mon estimation personnelle: les deux prochaines versions devraient être prêtes.

Que se passe-t-il lorsque l'événement est marqué comme "passif"?

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

Je ne sais pas ce que tu veux dire @richardeschloss - pourriez-vous élaborer? Je vais essayer de répondre à vos questions une par une:

Que se passe-t-il lorsque l'événement est marqué comme "passif"?

Voir la description ici: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

passive: true // cette option aide-t-elle?

Cela ne fonctionnera pas dans IE et Safari sur iOS.

Pawel, il semble que Rafal ait réparé celui-ci. J'ai vu le PR qui aide à répondre à la question que j'avais. Merci.

enfin 🥰

Salut,
Merci pour le correctif! Est-il disponible en version 8.2.2?

Hi @violetVo v8.2.2 est sorti il ​​y a environ 2 semaines. Le correctif sera disponible dans la prochaine version.

@pawelfus avez-vous un calendrier pour la prochaine version? Je me demandais juste.
J'espère que vous et l'équipe êtes en sécurité (re: covid)!

Merci @forgivegod , nous sommes bons 👍 J'espère que vous êtes bons aussi!

La prochaine version devrait être prête d'ici quelques semaines

Cette page vous a été utile?
0 / 5 - 0 notes