Highcharts: Multi- [Violation] Menambahkan event listener non-pasif ke event 'touchstart' yang memblokir scroll ++

Dibuat pada 9 Jul 2019  ·  41Komentar  ·  Sumber: highcharts/highcharts

Situasi

Di MacOS / Chrome
_CandleStick: Saat StockTools diaktifkan_
Banyak eventListners yang ditangani dengan tidak tepat dan terlihat muncul di konsol. terutama mengacu pada acara 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.

Untuk mereproduksi

Ini dapat dengan mudah terlihat di konsol demo StockChart berbasis react dengan modul stock-toos yang diaktifkan.

Berikut adalah demo langsung singkat:
https://codesandbox.io/s/10yv629397
https://www.highcharts.com/stock/demo/stock-tools-gui

Video:
https://i.imgur.com/Z80XISw.mp4

Screenshot 2019-07-08 at 16 38 38

Diuji pada
MacOS (Mojave) Chrome (Versi 75.0.3770.100) dan mesin Mac serta versi Chrome lainnya.

Done Bug

Komentar yang paling membantu

Saya mengonfirmasi, saya dapat mereproduksinya sekarang - Saya memiliki kesalahan yang sama di konsol pada Windows.

Semua 41 komentar

Terima kasih telah melaporkan!

@sebastianbochan - dapatkah Anda melihatnya?

Catatan internal
Di stockTools kami menambahkan acara (klik / sentuh) secara default H.addEvent . Dalam fungsinya kita harus menambahkan dukungan {passive: true} untuk acara sentuh.

Apakah ada solusi cepat sampai Anda menambahkan dukungan pasif?

Hai @lashvortal ,
Saat ini Anda dapat menimpa fungsi H.addEvent , tetapi yang penting, fungsi tersebut harus berada di tempat yang benar (sebelum memuat modul).

Demo:

Terima kasih @sebastianbochan , saya akan menunggu perbaikannya sehingga saya dapat menggunakannya dengan pembungkus highcharts-react.

Ada rencana untuk memperbaikinya? Demo solusi yang ditautkan oleh @sebastianbochan masih menunjukkan 21 pelanggaran terkait acara kepada saya.

Screen Shot 2019-11-28 at 11 22 40

Hai @pjanaya

Sayangnya kami belum sempat memprioritaskan ini.

@pawelfus Ok, terima kasih. Mungkin Anda harus mempertimbangkan untuk menghapus label "Memiliki solusi"? Karena, setidaknya bagi saya, solusi tersebut tampaknya tidak cukup untuk menghilangkan kesalahan.

Catatan internal:
Ini masalah umum, bukan hanya Highstock. Kita perlu memverifikasi apakah semua peringatan sudah benar, terkadang kita memang membutuhkan preventDefault() dan terkadang kita tidak bisa menjanjikan bahwa pengembang tidak akan memanggil preventDefault() melalui salah satu callback.

Hai Semua, apakah ada pembaruan tentang masalah ini?

Hai @ dave-brown755,
Saat ini kami tidak sedang menangani kasus ini, jadi kami tidak memiliki informasi baru tentang. Sudahkah Anda mencoba menggunakan solusi kami?

Hai, saya tidak mencoba solusi apa pun karena tampaknya ada postingan berikutnya yang meminta label solusi tersebut untuk dihapus. Apakah Anda dapat menjelaskan langkah-langkah tepat yang perlu diikuti untuk menerapkan solusi agar kesalahan dapat dihapus. Ini secara signifikan memengaruhi kinerja browser untuk kami sendiri. Saya tidak ingin beralih dari grafik yang tinggi, tetapi kami tidak dapat menerima jumlah kesalahan yang dihasilkan. Semoga Anda bisa membantu. Terima kasih Dave.

Terima kasih atas masukannya. Saya menambahkan inbox label yang berarti tiketnya diprioritaskan.

Hai, ada kabar terbaru tentang prioritas tiket?

Hai @ dave-brown755 - tiket ini sudah diprioritaskan.

Saya menunggu ini diperbaiki juga
https://piyasa.paratic.com/

Saya dapat melihat bahwa tiket telah diprioritaskan tetapi saya bertanya apa artinya, apa waktu tunggu tipikal untuk tiket yang telah diberi prioritas?

Itu berarti tiket akan diambil setelah tugas saat ini selesai. Saya berharap masalah ini diperbaiki di v8.0.1 atau v8.0.2.

Saya tidak melihat peringatan apa pun di konsol lagi (Chrome 80 terbaru). Diuji pada 3 mesin (Mac dan Windows 10). Dapatkah seseorang mengonfirmasi apakah masalah masih terjadi dan memberikan langkah yang tepat untuk mereproduksinya?

Saya menggunakan v8.0.2 tetapi saya masih melihat pesan ini. :(

Hanya catatan klarifikasi: v8.0.1 dirilis (dan v8.0.2) dan v8.0.3 akan segera dirilis karena bug penting lainnya. Tidak terkait dengan jadwal rilis yang saya harapkan ketika saya mengatakan bahwa saya mengharapkan masalah diperbaiki di v8.0.2.

@ raf18seb mencoba men-debug masalah tersebut beberapa hari yang lalu, tetapi tidak dapat membuatnya kembali. Detail lainnya (versi os + chrome) atau demo langsung baru - sangat dihargai.

@pawelfus kami juga melihat pelanggaran ini, dengan versi terbaru 8.0.4. Kami kembali ke 5.0.11 di mana masalah tidak ada tetapi ingin memperbaruinya secepat kami bisa.

@ onur-celik memposting tautan di atas di mana masalah tersebut ada untuk debugging. https://piyasa.paratic.com/

Saya menggunakan Mac dengan Chrome 80.

image

Terima kasih! Saya bisa melihat dua kesalahan ini. Kedua peristiwa tersebut dapat memblokir - misalnya saat Anda menggerakkan jari di sekitar grafik untuk melihat tooltip, maka Anda tidak ingin menggulir halaman Anda. Chrome tidak boleh menampilkan pelanggaran ini (menurut spesifikasi, passive: true disetel secara default ..).

@ raf18seb - dapatkah Anda memeriksa sekali lagi? Mungkin itu masalah yang bergantung pada OS?

Saya mengonfirmasi, saya dapat mereproduksinya sekarang - Saya memiliki kesalahan yang sama di konsol pada Windows.

hai, apakah masalah ini sudah teratasi? ada solusi untuk masalah ini? Saya menghadapi masalah yang sama ini saat menggunakan highchart untuk mendapatkan data kompleks dari API

Masalahnya belum terpecahkan. Saat ini kami tidak memiliki ETA untuk tiket ini, tetapi termasuk dalam grup tiket prioritas tinggi kami.

oke terima kasih atas jawabannya

Saya juga sangat menghargai perbaikan untuk ini atau hanya catatan kapan itu akan dirilis.

Saya senang melihat masalah ini "sedang dalam proses" :)

Anda telah disebutkan diperbaiki di sini. Kapan perubahan ini dapat diterapkan dalam versi CDN.

Hai @sharmankita - terbitan masih memiliki label in progress . Artinya belum diperbaiki, kami masih mengerjakannya.

Hai, ada pembaruan tentang ini? Apakah ada ETA untuk memperbaikinya?

Hai @violetVo - tidak ada ETA, kami masih mengerjakan ini.

Perkiraan pribadi saya: dalam dua versi berikutnya harus siap.

Apa yang terjadi jika acara ditandai sebagai "pasif"?

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

Saya tidak yakin apa yang Anda maksud @richardeschloss - bisakah Anda menjelaskannya? Saya akan mencoba menjawab pertanyaan Anda satu per satu:

Apa yang terjadi jika acara ditandai sebagai "pasif"?

Lihat deskripsi di sini: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

pasif: true // apakah opsi ini membantu?

Ini tidak akan berfungsi di IE dan Safari di iOS.

Pawel, sepertinya Rafal sudah memperbaikinya. Saya melihat PR yang membantu menjawab pertanyaan saya. Terima kasih.

akhirnya 🥰

Hai,
Terima kasih atas perbaikannya! Apakah tersedia dalam versi 8.2.2?

Hai @violetVo v8.2.2 dirilis ~ 2 minggu yang lalu. Perbaikan akan tersedia di rilis berikutnya.

@pawelfus apakah Anda memiliki jangka waktu untuk rilis berikutnya? Hanya ingin tahu.
Semoga Anda dan tim aman (re: covid)!

Terima kasih @forgivegod , kami baik-baik saja 👍 Saya harap Anda juga baik!

Rilis berikutnya akan siap dalam beberapa minggu

Apakah halaman ini membantu?
0 / 5 - 0 peringkat