Enquanto realizava alguns testes na experiência do usuário de múltiplos usuários editando simultaneamente uma postagem compartilhada via plugin shared-edits, deparei-me com cenários em que partes das novas adições eram silenciosamente descartadas ou o novo conteúdo era estranhamente misturado ao conteúdo existente, sem qualquer consideração por limites de palavras e afins.
Verificou-se que havia dois lugares no código do plugin onde, em um cenário de edições simultâneas, os usuários recebiam alterações aplicadas a uma instantânea desatualizada do conteúdo, em vez do conteúdo que eles realmente estavam vendo.
Atualizei o código para que a comparação de diferenças ocorra no estado atual real do editor / do DOM, em vez de em uma instantânea anteriormente capturada. Veja o PR correspondente para mais detalhes.
Com essa alteração, sinto que a experiência geral do usuário ficou um pouco mais fluida, mesmo ao editar simultaneamente a mesma posição exata em um documento. O resultado é mais legível para humanos e há menos mistura de palavras.
(Contexto sobre isso: estou executando um teste automatizado com Playwright que realiza algumas edições simultâneas em uma postagem.)