Durante alcuni test sull’esperienza utente di più utenti che modificavano contemporaneamente un post condiviso tramite il plugin shared-edits, ho riscontrato situazioni in cui parti delle nuove aggiunte venivano eliminate in silenzio o il nuovo contenuto veniva mescolato in modo strano con il contenuto esistente, senza alcun riguardo per i confini delle parole e simili.
Si è scoperto che c’erano due punti nel codice del plugin in cui, in uno scenario di modifiche simultanee, agli utenti venivano applicate le modifiche a una istantanea obsoleta del contenuto, invece che al contenuto che stavano effettivamente vedendo.
Ho aggiornato il codice in modo che il confronto delle differenze avvenga sullo stato attuale effettivo dell’editor / del DOM, invece che su una istantanea precedentemente acquisita. Consulta la PR corrispondente per i dettagli.
Con questa modifica, sento che l’esperienza utente complessiva è diventata un po’ più fluida, anche quando si modifica contemporaneamente la stessa posizione esatta in un documento. Il risultato è più leggibile per l’utente e si verificano meno sovrapposizioni di parole.
(Contesto: sto eseguendo un test automatizzato con Playwright che effettua alcune modifiche simultanee a un post.)