Предотвратите сравнение с устаревшим снимком или позицией

Во время тестирования пользовательского опыта одновременного редактирования общего сообщения несколькими пользователями через плагин shared-edits я столкнулся со сценариями, когда части новых добавлений тихо удалялись или новый контент странным образом перемешивался с существующим без учёта границ слов и прочего.

Оказалось, что в коде плагина было два места, где в сценариях одновременного редактирования пользователям применялись изменения к устаревшему снимку контента, а не к тому контенту, который они фактически видели.

Я обновил код так, чтобы сравнение (diffing) происходило на основе фактического текущего состояния редактора / DOM, а не на основе ранее сделанного снимка. Подробности см. в соответствующем PR.

После внесения этого изменения мне кажется, что общий пользовательский опыт стал немного более плавным, даже при одновременном редактировании одной и той же позиции в документе. Результат стал более читаемым для человека, и меньше наблюдается перемешивания слов внутри слов.

(Контекст: я запускаю автоматизированный тест с Playwright, который выполняет некоторые одновременные правки в сообщении.)

Я продолжаю тестировать и проводить бенчмаркинг, и, возможно, нашёл ещё один случай :eyes:

Посмотрю, чтобы подтвердить, а затем обновлю PR.