Empêcher la comparaison avec un snapshot ou une position obsolète

Lorsque j’effectuais des tests sur l’expérience utilisateur de plusieurs utilisateurs modifiant simultanément un message partagé via le plugin shared-edits, je suis tombé sur des scénarios où des parties des nouvelles ajouts étaient silencieusement supprimées ou où le nouveau contenu était étrangement mélangé avec le contenu existant, sans aucun égard pour les limites des mots et autres.

Il s’est avéré qu’il y avait deux endroits dans le code du plugin où, dans un scénario de modifications simultanées, les utilisateurs se voyaient appliquer des changements à une capture obsolète du contenu, plutôt qu’au contenu qu’ils voyaient réellement.

J’ai mis à jour le code afin que la comparaison diff se fasse sur l’état actuel réel de l’éditeur / du DOM, plutôt que sur une capture précédemment effectuée. Voir la PR correspondante pour plus de détails.

Avec ce changement, j’ai l’impression que l’expérience utilisateur globale est devenue un peu plus fluide, même lors de la modification simultanée de la même position exacte dans un document. Le résultat est plus lisible pour l’humain et on observe moins de mélanges de mots.

(Contexte : je fais tourner un test automatisé avec Playwright qui effectue des modifications simultanées sur un message.)

Je continue à tester/évaluer les performances de cela, et j’ai peut-être trouvé une autre occurrence :eyes:

Je vais vérifier, puis mettre à jour la PR.