Во время тестирования пользовательского опыта одновременного редактирования общего сообщения несколькими пользователями через плагин shared-edits я столкнулся со сценариями, когда части новых добавлений тихо удалялись или новый контент странным образом перемешивался с существующим без учёта границ слов и прочего.
Оказалось, что в коде плагина было два места, где в сценариях одновременного редактирования пользователям применялись изменения к устаревшему снимку контента, а не к тому контенту, который они фактически видели.
Я обновил код так, чтобы сравнение (diffing) происходило на основе фактического текущего состояния редактора / DOM, а не на основе ранее сделанного снимка. Подробности см. в соответствующем PR.
После внесения этого изменения мне кажется, что общий пользовательский опыт стал немного более плавным, даже при одновременном редактировании одной и той же позиции в документе. Результат стал более читаемым для человека, и меньше наблюдается перемешивания слов внутри слов.
(Контекст: я запускаю автоматизированный тест с Playwright, который выполняет некоторые одновременные правки в сообщении.)