Этот плагин в настоящее время вызывает ошибки 500 и может привести к потере данных. Я отключил его после такого инцидента. Извините, я не могу сообщить сейчас ничего большего, кроме того, что его нельзя было отключить после включения.
Полагаю, после масштабных обновлений Composer за последний год он не получал обновлений.
Лично мне бы очень хотелось, чтобы над ним поработали, ведь было бы здорово оставаться в Discourse для совместного редактирования.
Возникают ли ошибки и происходит ли потеря данных также в редакторе Markdown, или это происходит только в редакторе с форматированием?
Есть несколько плагинов, которые не работают в редакторе с форматированием, и, похоже, этот — один из них.
Редактирование: Я только что установил его, чтобы попробовать, и не смог воспроизвести проблему, даже используя редактор с форматированием. Я не пытался редактировать одновременно с другим пользователем, но смог включить совместное редактирование, отредактировать пост и увидеть изменения в реальном времени. Какие шаги для воспроизведения приводят к ошибкам 500 и потере данных?
Используемая нами библиотека OT довольно примитивна: обычно она работает нормально, но иногда, когда документы становятся длинными, возникают патологические случаи.
План состоит в переходе к реализации на основе CRDT, хотя у меня пока нет сроков.
Для тех, кто хочет увидеть будущее плагина Shared Edits, у меня есть рабочая версия PR здесь:
Она решает проблему из первого сообщения и целый ряд других, но её слияние займёт время, так как изменения очень масштабные.
Спасибо, @sam! Я с радостью протестирую это на больших текстах в безопасной среде. Действительно, потеря больших фрагментов текста — именно та причина, по которой я перестал использовать этот плагин, поэтому мне приятно вернуться к нему.
Мы всё ещё используем HedgeDoc, чтобы избежать проблем, но там есть одна неприятность: когда два курсора находятся в одной точке, редактирование становится ненадёжным, особенно если другой человек пытается что-то сделать — возникает состояние гонки. Просто сообщаю на случай, если вы столкнётесь с этим в своём коде.
(Обратите внимание, что я могу не смогу протестировать это в ближайшее время, так как нахожусь в отпуске.)