GouvernementFR / dsfr

🇫🇷 Official french government's design system (Système de Design de l'État)
https://www.systeme-de-design.gouv.fr/
Other
236 stars 54 forks source link

fixes infinite loop in stepWidth computation of the range Component #924

Closed Numero7 closed 4 months ago

Numero7 commented 4 months ago

Après avoir incorporé le composant Range dans une page utilisant le dsfr, le chargement de la page est bloqué. Même expérience sous Safari, Chrome et Firefox. Firefox propose de fermer la page qui consomme trop de ressources. La suppression du composant range corrige le problème.

Sous certaine conditions, une boucle infinie de calcul peut apparaître dans le calcul de la largeur d'un pas dans src/component/range/script/range/range-model.js

Dans la ligne

https://github.com/GouvernementFR/dsfr/blob/0872677c9a433007d6a3db2329000b448c216817/src/component/range/script/range/range-model.js#L143

la boucle ne s'arrête pas si _stepWidth vaut -Infinite. Cela peut arriver si la division précédente a un quotient 0.

Le patch proposé dans cette PR semble corriger le problème.

keryanS commented 4 months ago

Merci pour la proposition de correction, j'ai créé une PR plus globale qui corrige d'autres problèmes sur le curseur : https://github.com/GouvernementFR/dsfr/pull/931

Je ferme donc cette PR.