Совместное редактирование и presence
Зачем это нужно
Документация в одиночку никогда не пишется. Кто-то накидал
черновик, кто-то дописал разделы, кто-то ретранскрайбил совещание,
кто-то правит опечатки. В классическом подходе это ведёт к адищу:
«Вася, ты редактировал файл одновременно со мной — теперь перечитай
обе версии и склей руками».
Nextdocs спроектирован так, что несколько человек могут работать над
одной страницей в одно и то же время, и это не ломает ничего.
Как Google Docs — но для технической документации.
Как это выглядит
Вы открываете страницу. В правом верхнем углу — аватары всех, кто
сейчас тоже её просматривает или редактирует. У каждого аватарки:
Кольцо-цвет — уникальный для пользователя. Этим же цветом
подсвечивается его курсор в тексте.Маленький индикатор снизу аватара — где он сейчас (в этой же
странице, в другой странице этого проекта, или просто онлайн в
системе).
В тексте вы видите живые курсоры коллег — вертикальную полосу их
цвета с подписью имени, движущуюся в момент их набора. Их выделения
текста тоже подсвечиваются.
В diagramblock'ах (TLDraw, Excalidraw) — те же курсоры, только в
scene-пространстве холста.
Одновременное редактирование
Вы и коллега редактируете один и тот же абзац одновременно — что
произойдёт?
Если правите разные места — никаких конфликтов, изменения
«интеркалируются»: каждый увидит и свои, и чужие правки.Если правите один блок — система использует CRDT (Yjs), и
конфликты разрешаются автоматически. Практика: курсоры могут
«толкать» друг друга, но потеряться символы не могут.Если соединение пропало — продолжайте писать. Nextdocs копит
изменения локально в браузере, и когда сеть вернётся —
автоматически отправит их. Если коллега тем временем писал тоже,
изменения будут слиты.
Подключение и отключение
Страница автоматически устанавливает подключение при открытии
(через WebSocket к NATS + Hocuspocus). Вы ничего не делаете.Страница отключается, когда вы её закрыли. Ваш аватар пропадает
из списка «онлайн» у остальных в течение ~20 секунд.Если вы тихо ушли пить кофе на час, не закрыв вкладку — для
коллег вы считаетесь «онлайн», но курсор замрёт. Это норма.
Follow mode
Double-click по аватарке коллеги в верхнем углу включает Follow
— вы автоматически перемещаетесь на ту же страницу, где сейчас
смотрит он, и при скролле/переключениях страниц тоже идёте за ним.
Зачем:
Walkthrough — кто-то из команды проводит экскурсию по
структуре документации. Остальные включают follow — видят то же
самое.Парное редактирование — один редактирует, второй следит и
комментирует.Онбординг нового члена команды — он включает follow на
тимлида, пару часов смотрит, как устроена работа.
Выход из follow: ESC, клик в любое место редактора, повторный
double-click по тому же аватару, или клик по другому.
Одиночный клик по аватарке — jump: одноразовый переход на
страницу и позицию курсора коллеги без подписки.
Разные страницы в одном проекте
Аватары коллег на вашей странице могут отражать тех, кто сейчас на
других страницах этого же проекта. Опознать можно по
индикатору: аватар «приглушённый», без пульсации. Это полезно
видеть, чтобы понимать, кто вообще в проекте сейчас.
Клик по такому аватару — переход на ту страницу, где он.
Комментарии и упоминания
Это отдельная механика, тесно связанная с коллаборацией. См.
Comments & Mentions.
Presence и приватность
Сам факт того, что вы читаете страницу, виден всем участникам
проекта (тем, у кого есть доступ). Это можно считать фичей, не
багом: важно знать, что твой манагер читал твою спеку и не возвращал
с вопросами — значит, спека ок.
Если нужна «тайная» читка (без presence) — в настройках профиля
переключите Invisible mode (готовится — пока включён всегда).
Список страниц, где вы были — сохраняется для вас в «Recently
Visited» виджете на главной. Коллеги этот список не видят.
Офлайн и синхронизация
При потере соединения вы видите полосу «Connection lost, retrying…»
вверху страницы.Во время офлайна вы можете продолжать печатать. Всё сохраняется
локально в IndexedDB браузера.Когда соединение восстановлено — изменения отправляются,
подтверждаются, дозагружается что пришло от коллег.Если вы закрыли вкладку до того, как соединение вернулось —
ничего не потеряется. При следующем открытии страницы
неотправленные правки всё ещё локально, отправятся тогда.
Типовые сценарии
Ретро команды. Ведущий открывает страницу, остальные включают
follow. Все пишут свои пункты в разделы Plus / Minus / Actions.
Ведущий ведёт, все видят курсоры. Переход к следующему пункту —
scroll, остальные едут за follow'ером.
Спека фичи в 4 руки. Продакт открывает страницу, пишет
user story. Инженер подключается, добавляет technical design.
Ни один не ждёт, пока другой «закроет файл».
Код-ревью документации. Два человека открывают PR-ветку в
Nextdocs (которую сгенерировал AI-агент по коду). Один проходит
сверху вниз, делает inline-комментарии, второй отвечает на них.
Рядом в activity feed видна история правок.
Ограничения
Один документ — хорошо тянет 5-10 одновременных редакторов.
Выше — работает, но могут быть микро-лаги.Мобильный браузер — работает на чтение и короткие правки, но
основной UX заточен под десктоп.Follow mode через экраны разной ширины — позиция скролла
приблизительная (у разных viewport'ов разная вёрстка).