Что происходит с изменением
Изменение применяется локально сразу: вы видите его в тот же кадр. Затем оно уходит на сервер и становится видимым другим участникам. Это два разных момента, и индикатор сохранения показывает именно второй.
| Что видно | Значение |
|---|---|
| подключение | соединение устанавливается, доска ещё не синхронизирована |
| сохраняется | есть непринятые сервером изменения |
| сохранено | сервер подтвердил запись |
| офлайн (N) | связи нет, N изменений ждут в очереди |
| ввод остановлен | очередь достигла предела, редактирование прекращено |
Конфликты
Два человека могут менять одну доску одновременно. Изменения сливаются, а не перезаписывают друг друга: порядок операций сохраняется, и последний по времени не «побеждает» целиком. Практическое следствие: правки разных объектов не конфликтуют, а правки одного объекта применяются в порядке, в котором их увидел сервер.
Офлайн
Без связи правки остаются локально и отправляются при восстановлении. Очередь ограничена: после предела таб перестаёт принимать изменения и показывает предупреждение. Это защита от ситуации, когда после перезагрузки страницы теряется больше, чем можно восстановить.
Совет
Пока индикатор показывает офлайн, неотправленные правки живут в памяти вкладки. Перезагрузка до восстановления связи их потеряет.
Отзыв доступа
Если доступ отозвали, открытый сокет закрывается. Клиент переподключается и получает режим только для чтения. Уже сделанные правки не откатываются.
Что подтверждает сервер
Сервер отвечает на накопленный номер изменения, а не на каждое движение: одно подтверждение покрывает всё до этого номера. Поэтому в интерфейсе нет счётчика «сохранено N раз» — есть только факт «всё до этого места записано».
Куда дальше
Сохранение и офлайн: что даёт модель — и где её предел.