Open meuhland opened 5 years ago
Bonjour @meuhland D'abord désolé pour le retard. Ensuite je valide ta logique. Oui, c'est fort possible. Est-ce que tu as pu, depuis, valider cette théorie?
Ça me semblait stable depuis la mise en place du fix dans mon environement. (Je n'ai pas réentendu parlé de ce bogue-là)
Juste pour valider ma logique j'aimerais discuter de ce cas avec la communauté :)
Avec un parcours d'une certaine taille (ce n'est pas 100% consistant).
Lors de l'ajout d'une nouvelle ressource dans le parcours en mode édition (donc un drag de droite à gauche) sous certaines conditions l'ordre d'affiche des ressources (à gauche) est perdu.
Après analyse du flow des opérations il semble que ça soit une race condition...
Lors du drop 2 events arrivent à courte interval "receive" et "update" mais il semble qu'update qui fait buildLPtree qui post le nouvel ordre à lp.ajax.php (case : update_lp_item_order) soit executé avant que le DOM ne soit complètement mis à jour par le get à lp.ajax.php (case: add_lp_item) dans l'event "receive".
Étant donné que de toute façon c'est de l'exécution en double vu le fait que add_lp_item retourne le HTML au complet de la liste de gauche en synchrone la solution simple serait de simplement mettre un if sur "ui.sender === null" dans le update pour éviter la double exécution.
**Serveur