Evitar comparação com um snapshot ou posição desatualizado

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.)

Continuo testando/fazendo benchmarks disso e posso ter encontrado outra ocorrência :eyes:

Vou dar uma olhada para verificar e depois atualizar o PR.