Skip to content

Fitex: wait for the graph to appear in the DOM

Francois Gannaz requested to merge 159-wait-for-graph-in-dom into master

Comme discuté, la cause la plus probable du bug est une "race condition" entre la mise à jour du DOM contenant le graphe et le tracé des points par Flot. Fitex utilise des injections de HTML, ce qui est lent à traiter par le navigateur, donc il est possible que pendant quelques instructions le DOM ne contienne pas encore le nœuds tout juste créés par JS. C'est pour éviter ces problèmes de concurrence (et de performance) que les frameworks JS travaillent en amont du DOM.

Cette branche introduit un mécanisme d'attente pour le rafraîchissement du graphe. Si ce dernier n'existe pas encore dans le DOM, on attend jusqu'à 3 rafraîchissements de la page avant de continuer (et de planter). Donc, pour un appel normal, aucune attente. Si le DOM est presque à jour, 1/60 seconde d'attente. Et si des opérations JS bloquent le rafraîchissement par le navigateur, on attend autant que nécessaire, sans rien bloquer.

J'espère que cela résoudra le bug, mais il faudra quelques semaines de logs pour le vérifier.

Edited by Francois Gannaz

Merge request reports