Перейти к содержанию

Комментарии

Комментарии обеспечивают коммуникацию участников внутри задач. В документе описаны типы комментариев, адресаты и видимость, настройки категории, автопрочтение, закреплённые комментарии, треды, вопросы, ссылки, оценки исполнителей, редактирование и удаление, подписка и уведомления. Поведение комментариев настраивается на уровне категории.

Обзор — Комментарии

Комментарии обеспечивают коммуникацию участников внутри задач. Поддерживаются треды (вложенные ответы), реакции (эмоции), пересылка комментариев между задачами, а также форматирование текста и прикрепление файлов. Поведение комментариев настраивается на уровне категории.

Типы комментариев

В ленте задачи отображается два вида записей: сообщения, написанные пользователями, и системные уведомления, которые 1Форма добавляет автоматически при изменениях в задаче.

Пользовательские типы

Описание Создаётся
Пользовательский комментарий Вручную пользователем
Комментарий из подзадачи Автоматически при публикации в подзадаче
Вложение файла (без текста) Пользователем через drag&drop файла
Внесение трудозатрат Пользователем через форму трудозатрат

Системные типы

Системные записи создаются автоматически при каждом значимом изменении в задаче — пользователь видит, что произошло, без необходимости разбираться в истории вручную.

Описание Событие
Переход по маршруту Смена шага/статуса задачи
Подпись (резолюция) Согласование/подписание
Служебный Различные системные действия
Изменение ДП или файлов Изменение допараметра или файла
Создание задачи Создание новой задачи
Изменение текста задачи Редактирование описания
Смена категории Перемещение задачи
Смена срока Изменение дедлайна
Добавлен исполнитель Назначение исполнителя
Добавлен подписчик Добавление подписчика
Задача просрочена Автоматически при просрочке
Смена заказчика Изменение заказчика задачи
Удалён файл Удаление файла
Утверждение трудозатрат Акцепт фактических трудозатрат и снятие акцепта

Текст системных комментариев формируется автоматически по событию задачи. Каждый читатель видит его на своём языке: шаблон выбирается по языку пользователя (Users.LanguageID), а если шаблона на этом языке нет — по языку системы по умолчанию. Международный язык в этой цепочке не участвует. Отрисованный текст кешируется отдельно для каждого языка, поэтому читатели с разными языками интерфейса видят каждый свой вариант одной и той же системной записи. Язык шаблона определяется для того, кто читает ленту, а не для того, кто вызвал событие: после смены языка интерфейса шаблонный текст при следующем получении ленты формируется для новой локали. Текст, который человек ввёл сам — например причину подписи или пояснение, — при этом не переводится.

Даты в тексте системных комментариев — например, новый срок или дата начала работы — в веб-интерфейсе показываются по часовому поясу из профиля читателя, так же как на карточке задачи. В push-уведомлениях и письмах такие даты приводятся к часовому поясу профиля получателя. Мобильные приложения показывают эти даты в часовом поясе сервера.

Интерактивные отчёты в сообщениях

В комментарий можно приложить интерактивный отчёт — файл с именем, оканчивающимся на .dash.html. Такой файл отображается прямо в ленте отдельным блоком во всю ширину сообщения: его не нужно предварительно открывать в просмотрщике.

Интерактивные отчёты используются для наглядной подачи результатов: например, для KPI-плиток, диаграмм, динамики показателей или небольшого дашборда. Один комментарий может содержать несколько отчётов и обычные вложения одновременно.

Как это выглядит для читателя

  • отчёт показывается под текстом комментария;
  • ширина блока подстраивается под ширину сообщения;
  • высота меняется по содержимому отчёта;
  • интерактивность графика работает внутри блока;
  • обычные вложения в том же комментарии отображаются штатно.

Тема и оформление

Отчёт получает тему, шрифт и цветовые токены из ленты и подстраивается под светлую и тёмную тему. Фон блока соответствует фону самого сообщения — обычному или акцентному в чате — и слегка меняется при наведении курсора на комментарий, как и у самого сообщения; автору отчёта не нужно задавать фон самостоятельно.

Ограничения

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

Если файл не распознан как интерактивный отчёт или его отображение недоступно, он остаётся обычным вложением, которое можно открыть или скачать.

В отчёт не добавляют растровые изображения, base64-данные и внешние загрузки. Для графиков используют векторную графику; для простых показателей достаточно HTML и CSS.

Адресаты комментариев (кто видит что)

Ключевой принцип

Видимость комментария определяется списком его адресатов. Если пользователь не попал в список — комментарий не появится у него в ленте.

Типы адресатов

У каждого адресата комментария есть роль, которая определяет, как именно он получит сообщение.

Тип Значение
Явный адресат Выбран пользователем при отправке
Неявный адресат / подписчик Подписчик задачи без прямой адресации
В копии Получает сообщение, но без «непрочитанного»
Требует ответа Получатель должен ответить (вопрос)

Что влияет на список адресатов

Когда комментарий публикуется, система рассчитывает кому он будет показан:

  • явно выбранные пользователи и группы из поля «Кому»/«Копия»,
  • подписчики задачи (если категория не запрещает),
  • ограничения через смарт-события (тип «Перед отправкой уведомления»),
  • персональные настройки пользователей (подписка на тип, автопрочтение).

Изменение адресатов при редактировании

При редактировании комментария можно изменить список адресатов. Система пересчитывает список и корректирует push-уведомления:

  • Добавленные адресаты получают push о комментарии и начинают видеть его в ленте.
  • Исключённые адресаты получают сигнал удаления push (уведомление исчезает из центра уведомлений на устройстве), и комментарий перестаёт быть видимым для них в ленте.
  • При сужении «Всем» до конкретного пользователя push остаётся только у указанного.

Подробнее о поведении push-уведомлений при изменении адресатов — см. notifications/business.md → Редактирование адресатов комментария.

Поведение поля адресата при отправке

При отправке комментария в задаче поле «Кому» сохраняет выбранного адресата для следующего сообщения. Пользователю не нужно выбирать получателя повторно, если он продолжает переписку с тем же коллегой.

Это поведение работает одинаково для всех сообщений в рамках открытой задачи — и для первого, и для последующих. Если пользователь явно сменит адресата, новое значение сохранится для следующих сообщений вместо прежнего.

При перезагрузке страницы или открытии другой задачи поле «Кому» инициализируется заново согласно настройкам категории и списку подписчиков.

Индикатор «печатает»

Когда собеседник набирает сообщение в ленте задачи, остальные участники видят индикатор «печатает…». По умолчанию его видят все подписчики задачи. Функция поддерживает адресный режим: индикатор можно показать только определённым участникам (например, когда сообщение готовится для одного адресата), не отвлекая остальных. Показать индикатор пользователю, у которого нет доступа к задаче, нельзя — система всегда сверяет список адресатов с подписчиками.

Состав данных о печатающем считается под того, кто смотрит, а не под того, кто печатает: сведения об отсутствии коллеги приходят в объёме прав смотрящего. Коллеге без доступа к календарю печатающего индикатор отдаёт только признак активности — без темы, места и текста отсутствия и без списка участников; владелец данных и пользователи с полным доступом видят их полностью.

Настройки категории, влияющие на видимость

Эти настройки задаются в категории её администратором — конечный пользователь их не настраивает, но видит результат.

Настройка Влияние
Скрытие системных комментариев Системные комментарии записываются, но не показываются никому в ленте
Передача комментариев всем исполнителям При адресации одному исполнителю комментарий получают все исполнители задачи
Включение комментариев в категории Если выключено — лента комментариев в задаче полностью отключена
Режим видимости в главной ленте Режимы «Только задачи» / «Ничего не показывать» скрывают комментарии из главной ленты
Запрет удаления пользовательских комментариев Автор не может удалить собственные комментарии

Видимость при чтении ленты

Как формируется лента

При открытии задачи система собирает ленту: отбирает комментарии, адресованные текущему пользователю, не удалённые, с учётом фильтров по дате, типу, задаче и обсуждениям.

Когда пользователь может НЕ видеть отправленный комментарий

| Причина | |---| | Пользователь не попал в список адресатов комментария | | В категории включено скрытие системных комментариев, а тип системный | | У пользователя отключена подписка на этот тип комментариев в настройках | | Смарт-событие «Перед отправкой уведомления» заблокировало адресацию | | В категории отключены комментарии | | Категория скрывает комментарии из главной ленты | | Комментарий удалён | | Пользователь не подписан на задачу | Подписка и отписка не пересматривают прошлое: при подписке на задачу её прошлые сообщения в ленту не добавляются.

Автопрочтение

Комментарий может быть автоматически помечен как прочитанный без участия пользователя:

  1. Если в профиле включена настройка автопрочтения комментариев.
  2. Если пользователь исключён из адресатов смарт-событием.
  3. Для событий календаря — при выключенном уведомлении по событию.
  4. По персональным настройкам уведомлений пользователя.

Закреплённые комментарии

Участники с соответствующим правом могут закрепить любое сообщение, чтобы оно всегда было на виду. Для этого нужно вызвать контекстное меню сообщения (правая кнопка мыши) и выбрать пункт Закрепить. В чате закреплённые сообщения отображаются в отдельной панели над лентой — все участники видят их сразу при открытии чата.

Закрепление доступно в трёх контекстах: в чате, в обычной ленте задачи и внутри отдельного обсуждения (треда). В чате закреплять и откреплять вправе владелец, администратор и модератор чата, а также подписчик, если в настройках чата включена опция «Закреплять сообщения для всех». В обычной задаче закрепление доступно тем, кому доступно добавление комментариев: комментарии в категории не запрещены и задача не закрыта, если в категории стоит запрет комментировать закрытые задачи. Закреп внутри обсуждения виден только в нём — в общую панель он не попадает.

При закреплении или откреплении в ленте появляется системное сообщение. Push- и email-уведомления при этом не отправляются. Изменение отражается у всех участников мгновенно.

В панели закреплённых сообщений чата доступно действие «Открепить все сообщения» — оно снимает закрепление сразу со всех сообщений и для всех участников. Перед откреплением запрашивается подтверждение. Действие доступно тем же, кто вправе закреплять сообщения в этом чате.

Все закреплённые сообщения задачи. В карточке задачи вне режима чата в меню «…» в шапке, сразу после пункта включения или отключения уведомлений, есть пункт «Все закрепленные сообщения». Он виден всегда, даже если закреплённых сообщений нет, и открывает окно со списком закреплённых сообщений задачи; при пустом списке в окне написано «Нет закреплённых сообщений». Выбор сообщения закрывает окно и прокручивает ленту к нему, кнопка «Назад» закрывает окно. Действие «Открепить все сообщения» в меню «Больше действий» этого окна доступно тем, кто вправе добавлять комментарии в задаче.

Только закреплённые. Лента сообщений поддерживает режим «только закреплённые» — в выдачу попадают лишь закреплённые сообщения. Режим не заменяет остальные условия отбора, а сужает выдачу: порядок сортировки, фильтр по типам сообщений, отбор по адресатам, поиск и выборка внутри отдельного обсуждения работают как обычно, но уже внутри подборки закреплённых. Поиск в этом режиме идёт только по тексту сообщений: совпадения по именам вложений, заголовкам опросов и превью ссылок выдачу не дополняют. Если в задаче или чате закреплённых сообщений нет, лента остаётся пустой — ничего вместо них не подставляется. В ленте задачи в этот режим ведёт вкладка «Закреплённые» — она стоит сразу за «Лентой» и появляется, только когда в самой задаче есть закреплённые сообщения; закрепления внутри обсуждений на её появление не влияют. Вкладка работает по текущей задаче: при выборе её источник сообщений возвращается к текущей задаче, а при переключении источника на подзадачи или связанные задачи лента возвращается на «Ленту».

Скрытие закрепа у себя действует только на обычную вкладку «Лента»: там сообщение остаётся на своём месте по времени и не поднимается к закреплённым. Вкладка «Закреплённые» и отдельный список закреплённых сообщений показывают одинаковый полный состав — в том числе закрепы, скрытые вами: это одна и та же подборка в двух местах. Постраничной подгрузки на вкладке нет — список приходит целиком.

Закреплённые вверху ленты задачи. На вкладке «Лента» карточки задачи закреплённые сообщения поднимаются в начало ленты под разделителем «Закреплённые» и убираются со своего места по времени. Сообщение, закрепление которого пользователь скрыл у себя пунктом «Скрыть закрепленное сообщение», остаётся на своём месте по времени. У закреплённых сообщений в ленте виден значок закрепления. В режиме чата и внутри открытого обсуждения сообщения не поднимаются.

Скрыть закреп у себя. Закреплённое сообщение можно убрать из закрепов персонально — и в чате, и в обычной задаче. Пункт «Скрыть закреп» есть в контекстном меню самого сообщения; он доступен, пока сообщение закреплено и не скрыто, и не показывается внутри обсуждения. Скрытие действует только для того, кто его сделал: само закрепление остаётся, другие участники видят сообщение закреплённым. Вернуть закреп себе можно тем же меню — пунктом «Вернуть в закреплённые», — а восстановить все скрытые разом получится из списка закреплённых сообщений, одним запросом на задачу.

Действия на вкладке «Закреплённые». Вкладка показывает отдельную подборку сообщений, но действия над сообщением на ней те же, что в обычной ленте: изменить, удалить, снять непрочитанность, посмотреть прочтения. Результат виден прямо на вкладке — переключаться в «Ленту» и обратно не нужно: после правки показывается новый текст, после снятия непрочитанности — обновлённый признак. Удаление сообщения с вкладки удаляет и приложенные к нему файлы, как при удалении из ленты.

Треды (обсуждения)

Тред = корневой комментарий + дочерние ответы. Статусы: открыт / закрыт. В закрытом треде публикация запрещена (кроме транскрибации): недоступны и одиночные действия с сообщением (ответ, редактирование своего сообщения, отметка вопроса и снятие вопроса, удаление), и групповые — при множественном выборе групповое удаление скрывается, если выбор выполняется внутри закрытого треда или среди выделенных есть хотя бы одно его сообщение. Пересылка выделенных сообщений остаётся доступной. Подробнее — см. chat/business.md → Права на управление обсуждениями. Просмотр закрытого треда не меняет его статус: чтобы вернуть тред в работу, нужно явно выбрать «Открыть обсуждение» — при простом открытии закрытого треда для чтения он остаётся закрытым.

Создание обсуждения пользователем

Обсуждение можно создать в ленте задачи и в чате двумя способами.

Из уже отправленного сообщения. Нужно перейти к сообщению в ленте, вызвать контекстное меню и выбрать пункт Начать обсуждение. Создать обсуждение из сообщения можно также кнопкой создания обсуждения в меню быстрых действий. Открывается модальное окно ввода темы обсуждения; поскольку обсуждение создаётся из существующего сообщения, тема автоматически заполняется его текстом — при необходимости её можно изменить. Текст исходного сообщения отображается отдельно в начале обсуждения.

Исходное сообщение над разделителем «Начало обсуждения» — такой же комментарий, как в ленте: у него есть панель действий по наведению, контекстное меню, ответ и редактирование. Если в категории или чате включены реакции, их можно поставить и снять прямо здесь — в том числе когда реакций на сообщении ещё не было. Набор реакций в ленте и внутри обсуждения совпадает сразу, без обновления страницы: поставленная в одном месте появляется в другом. При выключенных реакциях выбор эмодзи недоступен.

В обсуждении, созданном вторым способом — из окна «Все обсуждения», без исходного сообщения, — служебная запись о начале обсуждения внутри не показывается: сразу после темы идут разделитель и обычные сообщения.

Из задачи без привязки к сообщениям. На панели инструментов карточки задачи есть кнопка обсуждений — она доступна всем участникам задачи. Рядом с кнопкой указано количество активных обсуждений; отсутствие числа означает, что обсуждений ещё нет либо все закрыты. По нажатию открывается модальное окно «Все обсуждения» со строкой поиска вверху (поиск по названию обсуждения) и тремя вкладками:

Вкладка Содержимое
Все Все созданные в задаче обсуждения
Активные Только открытые обсуждения
Закрытые Только завершённые обсуждения, выделены серым цветом; оставлять в них новые сообщения нельзя

Из этого же окна можно создать новое обсуждение. Нажатие на строку списка открывает выбранное обсуждение. В строке каждого обсуждения справа выводятся счётчики: непрочитанные сообщения, вопросы к вам (красный) и вопросы от вас (зелёный).

Закрытие и переоткрытие. Активное обсуждение закрывается через ПКМ по строке списка → «Закрыть обсуждение». Закрытое обсуждение можно переоткрыть через ПКМ → «Открыть обсуждение». Обсуждение, в котором последнее сообщение отправлено более 2 недель назад, закрывается автоматически.

Удаление. Удалённое обсуждение исчезает из списка вместе со всеми сообщениями, а в задаче создаётся служебная запись «Обсуждение удалено» от имени пользователя, выполнившего удаление. Запись видна как обычное системное сообщение во вкладках «Лента» и «Журнал» — без префикса «Начато обсуждение», без ссылки и без перехода в удалённое обсуждение. Уведомления по ней не рассылаются.

Чужим ответом считается сообщение другого участника внутри обсуждения. Служебная запись о начале обсуждения создаётся системой от лица автора и чужим ответом не считается, поэтому сама по себе права автора не отнимает. Как только в обсуждении ответил кто-то другой, автор удалить его уже не может — остаются владелец, администратор и модератор чата, а также участник с правами администратора категории. Если прав не хватает, удаление отклоняется целиком: обсуждение и все его сообщения остаются на месте — ничего не удаляется. Подробнее — в разделе «Удаление комментариев» в конце документа.

Тема обсуждения. Тему можно отредактировать в любой момент — пункт доступен по кнопке Дополнительные действия в панели инструментов обсуждения. Отредактировать тему может только автор обсуждения.

После создания обсуждение отображается в ленте под исходным сообщением. В задачу также отправляется системное сообщение без адресата с текстом «Начато обсуждение» и активной ссылкой на него; уведомления о нём зависят от настроек уведомлений в задаче, но само сообщение всегда попадает в список непрочитанных. Под веткой обсуждения показывается последнее написанное сообщение, справа — общее количество ответов и индикатор непрочитанных. Каждый подписчик задачи может перейти в обсуждение и принять в нём участие.

Шапка открытого обсуждения

Под названием открытого обсуждения показываются автор, подпись «Создано обсуждение» и дата и время его создания. Строка одинакова, когда обсуждение только что создано из окна создания, открыто нажатием на его превью в ленте задачи или чата либо выбрано в окне «Все обсуждения», и остаётся такой же после перезагрузки страницы.

Правило действует независимо от способа создания: и для обсуждения, начатого от существующего сообщения, и для обсуждения, созданного через «+» без исходного сообщения. Если обсуждение начато от сообщения, само исходное сообщение показывается отдельно в начале треда, а подпись в шапке сообщает об авторе и времени создания обсуждения.

Создание обсуждения через смарт-действие

Доступно как смарт-действие «Создать тред» в смарт-автоматизации.

Права

Действие Кто может
Создать тред Любой участник задачи
Закрыть Автор, Owner, Admin, Moderator
Удалить Автор — пока в обсуждении нет чужих ответов; Owner/Admin/Moderator чата — любое; администратор категории — любое

Удаление обсуждения в интерфейсе. Пункт «Удалить» есть в меню действий обсуждения: в карточке треда в ленте, в шапке открытого обсуждения и в окне со списком всех обсуждений задачи или чата. Отдельного права «удалить обсуждение» нет: пункт показывается ровно тогда, когда пользователь вправе удалить каждое входящее в обсуждение сообщение по обычному правилу удаления чужих сообщений. Поэтому автору обсуждения и владельцу обычной задачи кнопка доступна, только пока в обсуждении нет ответов других участников, а в групповом чате владелец, администратор и модератор удаляют обсуждение целиком, потому что их роль позволяет удалять чужие сообщения. Служебное сообщение о начале обсуждения чужим ответом не считается.

Пункт открывает окно подтверждения. После подтверждения обсуждение удаляется вместе со своими сообщениями и вложениями: открытая панель обсуждения закрывается, сам тред исчезает из списка обсуждений, а в ленту добавляется системная запись «Обсуждение удалено». Если сервер отказал — например, по правам, — показывается сообщение об ошибке, а обсуждение остаётся на месте.

Вопрос-ответ

Любое сообщение можно пометить как вопрос — тогда у адресата появится счётчик неотвеченных вопросов и сообщение выделится цветом. Входящий вопрос подсвечивается красным, исходящий (от вас) — зелёным.

Входящий вопрос (розовый фон) — требует ответа

Подсветка ответа на ваш вопрос. Непрочитанный ответ на ваше сообщение выделяется в ленте информационным цветом, но только если исходное сообщение было вопросом: подсветка отвечает на вопрос «мне ответили?», а не «кто-то что-то написал после меня». Если исходное сообщение вопросом не было, ответ ему не подсвечивается. Подсветку видит только автор вопроса: получателям в копии и подписчикам задачи ответ так не выделяется. Собственные сообщения не подсвечиваются, а ответ, помеченный как вопрос, сохраняет цвет вопроса — красный или зелёный. Выделение снимается, как только сообщение прочитано. Правило работает во всех видах ленты — в карточке задачи, в чате и в представлениях категории.

Состояния вопроса

Состояние Что значит для пользователя
Комментарий помечен как вопрос Автор отправил сообщение с запросом ответа
На вопрос дан ответ Кто-то ответил, и вопрос считается закрытым
Конкретный получатель должен ответить В счётчике этого пользователя есть требование ответа

Быстро открыть все активные вопросы к вам или ваши собственные можно чипами над лентой — см. «Фильтр неотвеченных вопросов».

Исходящий вопрос (зелёный фон) — отправлен вами

Действия с вопросом

Управлять состоянием вопроса можно так:

  1. Пометить сообщение как вопрос. Автор отправляет комментарий с включённым флажком «Нужен ответ» — у всех адресатов (явных, не в копии) появляется требование ответить.
  2. Ответить на вопрос. Любой адресат отвечает на вопрос текстом — вопрос автоматически помечается как отвеченный, требование ответа снимается у всех.
  3. «Вопрос не мне». Адресат может убрать требование ответа лично для себя через контекстное меню сообщения. Если ни у кого больше не осталось требования ответить — вопрос автоматически помечается как отвеченный.
  4. Пометить как отвеченный вручную. Автор может явно отметить свой вопрос как отвеченный через контекстное меню.
  5. Массово отметить все мои вопросы отвеченными. В разделе входящих доступно действие «Отметить все мои вопросы отвеченными» (POST /api/comments/mark-all-as-answered). С версии 2.268.336 оно закрывает только авторские вопросы пользователя — Comments.IsAnswered и все CommentRecipients симметрично, как при ручной пометке. Персональные записи во входящих чужих вопросах (когда пользователь — один из адресатов) не меняются: для отказа от конкретного входящего используйте «Вопрос не мне». До 2.268.336 действие затрагивало и авторские, и входящие, из-за чего у других адресатов того же commentId записи рассинхронизировались, а через 30 дней фоновая процедура архивации могла переносить целые группы получателей в архив — на одном из клиентских стендов баг привёл к потере 154 commentId и ещё 14 находились в очереди на потерю.
stateDiagram-v2
    [*] --> Обычное
    Обычное --> Вопрос : пометить «Нужен ответ» (требование у всех адресатов)
    Вопрос --> Отвечен : адресат ответил (требование снято у всех)
    Вопрос --> Отвечен : автор пометил отвеченным (вручную или массово)
    Вопрос --> Вопрос : «Вопрос не мне» — снять требование лично
    Вопрос --> Отвечен : больше ни у кого нет требования ответить

Ответ на входящий вопрос: автор вопроса не удаляется из адресатов

Если вопрос был задан вам (вы указаны в поле «Кому»), при ответе автор вопроса остаётся среди получателей — удалить его нельзя:

  • чип автора вопроса в полях «Кому» и «Копия» подсвечен светло-красным фоном, как сам вопрос;
  • крестик удаления на чипе недоступен;
  • контекстное меню (ПКМ) позволяет перенести автора вопроса между «Кому» и «Копия», но не удалить его;
  • очистить поле или выбрать «Только этому адресату» без автора вопроса нельзя;
  • отправить ответ «никому» или только другим получателям нельзя — автор вопроса обязательно остаётся в «Кому» или «Копия».

Правило действует только для неотвеченного входящего вопроса. Для собственных и уже отвеченных вопросов чип не подсвечивается и удаление доступно как обычно.

Автодетекция вопроса

Система автоматически ставит флажок «Нужен ответ» при наборе текста, если:

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

Текст признаётся вопросом по одному из 4 правил (достаточно одного):

# Правило Примеры
1 Символ ? в тексте «Это работает?», «Когда будет готово?»
2 Вопросительные слова в начале строки (RU + EN) «Когда будет готово», «Как это работает», «Could you check», «Is there a way»
3 Императивные просьбы (RU) «Подскажите», «Прошу уточнить», «Сообщите»
4 Императивные просьбы (EN) «Please let me know», «Kindly confirm»

Императивные правила (RU) срабатывают по конкретным перечням:

  • Глаголы в повелительном наклонении на -ите/-и в начале строки или предложения: «покажите»/«покажи», «узнайте»/«узнай», «сделайте»/«сделай», «отправьте»/«отправь», «направьте»/«направь», «верните»/«верни», «переделайте»/«переделай», «исправьте»/«исправь», «поправьте»/«поправь», «обновите»/«обнови», «дополните»/«дополни», «подготовьте»/«подготовь», «согласуйте»/«согласуй», «подтвердите»/«подтверди», «предоставьте»/«предоставь», «организуйте»/«организуй», «переведите»/«переведи», «настройте»/«настрой», «выгрузите»/«выгрузи», «загрузите»/«загрузи».
  • Слово «Пожалуйста» в сочетании с глагольными корнями: «покаж», «узнай», «сделай», «отправ», «направ», «верн», «исправ», «поправ», «обнов», «дополн», «подготов», «согласу», «подтверд», «предостав», «настро», «выгруз», «загруз».
  • «Прошу» + инфинитив: «показать», «узнать», «сделать», «отправить», «исправить», «поправить», «обновить», «дополнить», «подготовить», «согласовать», «организовать», «перевести», «настроить», «выгрузить», «загрузить».

Настройка пользователя

Автодетекцию можно отключить в профиле: Профиль → Прочее → «Не помечать сообщение как вопрос автоматически». После этого флажок «Нужен ответ» автоматически не ставится. При ручном переключении флажка настройка не мешает.

Ссылки в комментариях (Comment Links)

Обзор

При создании или редактировании комментария система автоматически извлекает из текста два типа ссылок:

Тип Как распознаётся Пример
Ссылка на задачу #номер в тексте #12345
Внешний URL Полный адрес https://... https://example.com/page
Домен без протокола Последняя часть адреса — существующая доменная зона yandex.ru — открывается как https://yandex.ru
Ссылка на сообщение #!номер в тексте #!12345

Автопарсинг и ручные ссылки

По умолчанию система сама извлекает ссылки из текста (автопарсинг). Через SmartAction «Написать комментарий» можно управлять тем, показываются ли найденные ссылки в UI (параметр «Показывать найденные ссылки»).

Скрыть найденные ссылки можно не только действием: при отправке комментария через API и через инструмент AI-агента превью-карточки выключаются отдельным признаком. У комментариев агента карточки скрыты по умолчанию, у запросов через API — нет, поэтому привычное поведение интерфейса не меняется. Скрытие не удаляет ссылку: адрес остаётся кликабельным в тексте, а запись о ссылке сохраняется в задаче; карточка связи с задачей платформы подчиняется тому же признаку. Все ссылки, найденные в комментариях задачи, — внутренние ссылки на задачи и внешние адреса — собраны на отдельной вкладке «Ссылки» блока вложений задачи (см. «Блок «Файлы» в карточке задачи» в домене «Файлы»); ссылки со скрытыми превью на вкладку не попадают. Признак учитывается при создании комментария — если позже отредактировать его текст, ссылки разбираются заново и карточки возвращаются.

Ссылки без протокола. Домен, написанный в комментарии без протокола — например yandex.ru — распознаётся как ссылка и открывается по адресу с https://. Дописывать протокол вручную не нужно. Для таких ссылок, как и для адресов с http:// или https://, подгружается превью-карточка страницы.

Если сайт по https не отвечает — соединение не устанавливается, имя не разрешается, соединение сбрасывается или истекает время, — система один раз повторяет запрос по http, и сайты, доступные только по http, продолжают показывать превью. Если же сайт по https отвечает и отвечает перенаправлением на http, повтора не будет: понижение схемы запрещено, и превью не появится. Для сайтов, которые сами уводят с http на https, пишите адрес сразу с https://.

Фоновый разбор ссылок. Домен без протокола подхватывает не только момент сохранения комментария: фоновый разбор по истории комментариев тоже находит такие адреса и создаёт по ним связь-ссылку. Поэтому у комментариев, сохранённых до появления распознавания доменов без протокола, со временем также появляется связь-ссылка — без ручных действий автора. Уже разобранные комментарии (у которых связь-ссылка уже есть) повторно не обрабатываются, а новые разбираются как обычно. Дата и время, к которым «догон» доходит, зависят от положения фонового разбора, поэтому точный момент появления связи заранее неизвестен.

Ссылкой становится только домен, зона которого есть в справочнике доменных зон и не совпадает с именем файлового расширения, и в самом домене есть хотя бы одна буква. Полный список расширений-исключений — 28 зон: zip, mov, app, dev, md, sh, so, rs, java, ai, pl, ps, py, map, docs, video, cc, pm, ml, am, mk, in, as, sv, la, gd, st, to — приведён в разделе «Ограничения и поддержка на платформах».

Поэтому ссылками не становятся даты (15.02, 15.02.2024), дробные числа (1.5), IP-адреса (8.8.8.8), имена файлов (файл.txt, main.cc, Module.pm, config.h.in) и строки вида function.onload. Знаки препинания после адреса в ссылку не входят.

Исключение действует на зону целиком: в зонах cc, pm, ml, am, mk, in, as, sv, la, gd, st, to обычным текстом остаются и настоящие сайты — site.in, example.to, site.la. Такой адрес оформляется ссылкой, если указать его с протоколом (https://site.in).

Правило действует только на текст при чтении: ссылки, уже сохранённые для старых комментариев, остаются в карточке задачи, поэтому в комментарии, написанном до изменения, имя файла может по-прежнему показываться ссылкой.

Если превью для адреса получить не удалось — например, это внутренний сайт компании, — комментарий всё равно отправляется сразу: ожидание превью отправку не задерживает.

Прямая ссылка на сообщение и на обсуждение

Сообщение и обсуждение можно передать ссылкой — двумя способами.

Из меню сообщения. Чтобы скопировать ссылку на сообщение, откройте его контекстное меню правой кнопкой мыши, выберите «Переслать», затем — «Копировать ссылку». В подменю пункт стоит после «В текущую задачу» (в чате — «В текущий чат») и перед «Ещё». Ссылка копируется в буфер обмена и открывает нужное место переписки. В шапке и в списке обсуждений действие «Копировать ссылку» остаётся доступным в своих меню. Пункт «Копировать ссылку» доступен там, где показывается «Переслать»: если «Переслать» недоступен, скопировать ссылку через это подменю нельзя.

В тексте сообщения. Запись #! с номером сообщения — подробнее в разделе форматирование текста — становится ссылкой на это сообщение.

Как ведёт себя переход:

Что указано в ссылке Что происходит
Задача и сообщение Открывается чат, лента прокручивается к сообщению и подсвечивает его
Задача, сообщение и обсуждение Сначала раскрывается обсуждение, затем лента прокручивается к сообщению внутри него
Задача и обсуждение, без сообщения Открывается само обсуждение; прокрутки к конкретному сообщению нет

Если сообщения нет в загруженной части ленты, она подгружает переписку вокруг него сама — нажимать ничего дополнительно не нужно. Если сообщение удалено или загрузить его не удалось, чат открывается, но показывается сообщение об ошибке, а номер сообщения и обсуждения убираются из адреса — ссылку можно переслать заново, без старой привязки. Нажатие с Ctrl или Cmd открывает сообщение в новой вкладке. Переход работает в веб-интерфейсе: в мобильных приложениях запись #!12345 остаётся текстом.

OpenGraph-превью (сниппеты)

Как показывается картинка превью. Картинка из метаданных страницы выводится в одном из двух видов. Прямоугольная — обложка, баннер, картинка страницы — показывается крупно, во всю ширину карточки превью под её текстом и без искажения пропорций. Квадратная или совсем маленькая картинка показывается небольшой, фиксированного размера, у правого края карточки: заголовок ссылки обтекает её, а описание идёт ниже на всю ширину. Значок сайта для этих карточек не используется. Как показывать картинку, решает тип, определённый при разборе страницы.

Для внешних URL-ссылок доступно автоматическое формирование превью: система загружает страницу, извлекает заголовок, изображение и другие Open Graph-метаданные, и показывает карточку-превью прямо в ленте.

Требование: функция работает только если на сервере разрешены исходящие HTTP-запросы. Если превью не формируется — обратитесь к администратору сервера.

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

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

Причина Как выглядит Что делать
Сайт по https отвечает перенаправлением на http превью нет написать адрес с https://, если сайт поддерживает https
Цепочка перенаправлений длиннее десяти превью нет проверить адрес: обычно это ссылка через сокращатель или редирект-петля
Перенаправление без адреса перехода превью нет обратиться к владельцу страницы: сайт отдаёт некорректный ответ
Адрес ведёт в служебную или приватную сеть превью нет это защита: превью внутренних адресов не строится
Страница или её распакованный ответ больше предела превью нет превью тяжёлых страниц не строится
Исходящие HTTP-запросы на сервере запрещены превью нет ни для одной ссылки включить исходящие HTTP-запросы на сервере

Права доступа

  • Создание/редактирование ссылок: только автор комментария, если есть доступ к задаче.
  • Чтение ссылок: любой, кто имеет доступ к задаче.

Оценки исполнителей

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

Аспект Правило
Кто оценивает Заказчик задачи
Кого оценивает Каждый исполнитель (кроме себя, если заказчик сам является исполнителем)
Обязательность комментария Заказчик обязан прокомментировать оценку
Видимость оценок Открытые (всем) или закрытые (только пользователям с соответствующим правом)
Где отображаются Комментарии к оценке показываются в ленте комментариев задачи

Оценка проставляется из карточки задачи или из ленты задач и комментариев.

Геолокация в комментариях

Если в профиле включена геолокация и мобильное устройство дало разрешение на определение местоположения, при отправке комментария через мобильное приложение к сообщению прикрепляются координаты. В веб-интерфейсе в контекстном меню такого комментария появляется пункт Посмотреть в Google картах — по нажатию откроется карта с указанием места, откуда было отправлено сообщение.

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

Опросы (SurveyJS)

В специально настроенных категориях поддерживается проведение опросов и тестирований через интеграцию с SurveyJS.

Создание опросов

Опросы создаются в визуальном редакторе (конструктор SurveyJS) в категории-каталоге опросов. Поддерживаются:

  • Текстовые поля, чекбоксы, радиокнопки, загрузка файлов и другие типы вопросов
  • Логика прохождения (разветвление, пропуск вопросов)
  • Таймер на прохождение
  • Отображение правильных/неправильных ответов
  • Перемешивание вопросов для тестирований
  • JSON-редактор для гибкой настройки

Редактор опросов

В пользовательском режиме в категории-каталоге опросов доступна кнопка Редактор. По её нажатию открывается редактор, в котором можно создавать, настраивать и предварительно тестировать логику прохождения опросов. Редактор разделён на вкладки.

Вкладка Назначение
Обзор конструктора Визуальное построение структуры опроса: добавление страниц, вопросов разных типов (текстовые поля, чекбоксы, радиокнопки и др.), вариантов ответов, управление порядком следования. Новый вопрос добавляется перетаскиванием элемента из левой панели. Панель общих настроек по умолчанию раскрыта, её можно скрыть и раскрыть повторно. Изменения сохраняются кнопкой сохранения; есть кнопки отмены и повтора последнего изменения
Тестировать опросник Просмотр опроса с точки зрения респондента перед сохранением
Логика опросника Настройка логики работы: условия отображения вопросов в зависимости от ответов, ветвления, динамическое изменение содержимого
JSON редактор Гибкая настройка опроса через JSON

На вкладке «Тестировать опросник» в панели инструментов доступны:

  • Кнопка выбора устройства — переключение между типами устройств для проверки адаптивности; размер окна автоматически подстраивается под выбранный формат экрана.
  • Кнопка смены ориентации (книжная/альбомная) — изменяет ориентацию экрана устройства; недоступна в десктопном режиме.
  • Кнопка показа скрытых элементов — делает видимыми служебные блоки, инструкции, логические триггеры и прочие невидимые для обычных пользователей части опроса; полезна для диагностики логики. Повторное нажатие снова скрывает элементы.

На вкладке «JSON редактор» в панели инструментов: кнопка загрузки файла .json с устройства для вставки в редактор, кнопка скачивания текущего скрипта и кнопка копирования кода со страницы в буфер обмена.

Динамические варианты ответа по ссылке

В вопросах опроса (SurveyJS) варианты ответа можно подставлять из внешнего для формы источника — по адресу (URL) списка: при открытии опроса браузер респондента запрашивает этот адрес и показывает полученные варианты.

Подгрузка выполняется, только если адрес ведёт на тот же сервис (origin), с которого открыт опрос, — совпадают схема, хост и порт. Относительный адрес (путь к API своего стенда) подходит; абсолютный адрес другого сайта, порта или схемы не запрашивается. Поэтому в опросе указывайте относительный путь или адрес того же стенда, где работает 1Форма.

Если адрес не подходит или источник недоступен, динамическая подгрузка для вопроса отключается — показываются статические варианты ответа, если они заданы.

Прохождение опроса

Задачи на прохождение создаются для каждого участника. В карточке задачи доступна кнопка Пройти опрос. Администратор может настроить видимость кнопки Пройти опрос для ролей в задаче и групп пользователей на различных статусах задачи.

Кнопку видит только ответственный исполнитель задачи и только пока у него нет завершённого результата. Если доступ к кнопке не настраивали, она показывается ответственному исполнителю на всех статусах; настроенная матрица может скрыть кнопку и у него.

⚠️ В задаче обязательно должен быть назначен ответственный исполнитель — прохождение разрешено только ему. Каждая задача предназначена для одного исполнителя.

Режимы сохранения:

  • По умолчанию — результат сохраняется только при полном завершении опроса и нажатии Готово
  • При разрешённом частичном прохождении — каждый ответ сохраняется автоматически, при повторном входе пользователь продолжает с места остановки

После завершения повторное прохождение недоступно.

🗂️ Файлы-вложения в ответах на вопросы типа «Загрузка файла» корректно сохраняются и восстанавливаются при частичном прохождении — даже при очистке кеша браузера или работе в режиме инкогнито. Настройка вопроса «Хранить содержимое файла в формате JSON как текст» не обязательна для корректного отображения. Исправлено в сборке 2.264 «Кассиопея».

Результаты

Результаты отображаются в карточке задачи в виде древовидной таблицы (вопросы сгруппированы по страницам). Администратор может настроить видимость блока результатов для ролей в задаче и групп пользователей на различных статусах задачи. Наличие результата определяется по задаче, а не по её ответственному исполнителю: как только в задаче появляется завершённый результат опроса, признак наличия результата взводится для задачи и не теряется при смене ответственного исполнителя. Доступ к самому содержимому результата определяет матрица видимости блока результатов: участник с правом просмотра видит завершённый результат, даже если этот опрос он не проходил. Для анонимного опроса поведение прежнее — чужой отдельный ответ без указания результата не отдаётся. Запись ответа не изменилась: проходить опрос и сохранять ответ может только ответственный исполнитель.

Блок виден любому участнику задачи, которому матрица разрешает просмотр: собственный результат для этого не нужен, поэтому блок доступен и тем, кто опрос не проходил, — заказчику, проверяющему, другим исполнителям. Обязательное условие — в задаче есть хотя бы один завершённый результат: пока его нет, блок не показывается никому. Если доступ к блоку не настраивали, он показывается всем, у кого есть доступ к задаче.

По умолчанию необязательные вопросы без ответа скрыты. Чтобы их показать, нужно нажать кнопку показа вопросов без ответов справа от индикатора прохождения. При сворачивании блока результатов эта кнопка скрывается.

Также доступны сводные таблицы и графики.

Опросы могут быть персонализированными и анонимными.

Лента сообщений в задаче

Блок «Лента» в карточке задачи отделён синей полосой — это позволяет сразу увидеть, где в задаче начинаются сообщения.

Вкладки ленты

Вкладки ленты сообщений в карточке задачи

Вкладка Что показывает
Лента (по умолчанию) Все типы событий и сообщения с учётом настроек пользователя
Закреплённые Только закреплённые сообщения задачи. Вкладка есть, пока в задаче есть закреплённые
Сообщения Только пользовательские сообщения
Журнал Системные события (без сообщений пользователей)
Все Все события вне зависимости от настройки «Видно в ленте»

Вкладки, когда не помещаются. Если для всех вкладок не хватает ширины — лента открыта в правой панели таблицы, левый сайдбар развёрнут или окно узкое, — вкладки не обрезаются и не уходят за край панели. Непоместившиеся собираются под кнопкой «Ещё» с раскрывающимся списком: у активной вкладки в списке стоит галочка, а выбор вкладки из списка сразу открывает её. Состав списка пересчитывается при изменении ширины — после сворачивания или разворачивания сайдбара вкладки возвращаются на полосу без перезагрузки страницы. Пока все вкладки помещаются, кнопки «Ещё» на полосе нет.

Правило относится к самой полосе вкладок: кнопка выбора источника сообщений, кнопка «Отметить всё как прочитанное» и чипы неотвеченных вопросов остаются на своих местах. В списке чатов поведение другое: там полоса вкладок прокручивается по горизонтали.

Источник сообщений

По кнопке меню над лентой выбирается источник:

  • Текущая задача (по умолчанию) — сообщения текущей задачи
  • Из подзадач — сообщения подзадач уровнем ниже
  • Используется — сообщения задач, где данная задача выбрана в ДП

Меню выбора источника сообщений

Если выбран источник, отличный от умолчания, на кнопке отображается синяя точка.

Кнопка «Отметить всё как прочитанное» автоматически прочитывает все новые сообщения в ленте задачи; если задача открыта из ленты непрочитанных, её строка в фоновом списке этой ленты сразу меняет начертание на обычное, без перезагрузки страницы. Фильтр неотвеченных вопросов. Над лентой, рядом с вкладками, могут быть два чипа со счётчиком: «Входящие» — неотвеченные вопросы к вам, «Исходящие» — неотвеченные вопросы, которые поставили вы. Чип появляется, только если таких вопросов больше нуля, а число на нём — по всей задаче, а не только по уже загруженным сообщениям.

Нажатие оставляет в ленте только вопросы этого чипа. Повторное нажатие возвращает обычную ленту, нажатие другого чипа переключает отбор. Поиск по тексту при этом сохраняется: остаются сообщения, которые подходят и по чипу, и по строке поиска; снятие чипа поиск не очищает.

Чипов нет на вкладках «Журнал» и «Закреплённые»: при переходе туда отбор снимается. На узком экране и в мобильном режиме чипы тоже скрыты; вкладки, источник сообщений и поиск остаются. Пока чип включён, настройка «Фильтровать комментарии в задаче согласно настройкам ленты» не применяется.

Сортировка ленты

По умолчанию комментарии отображаются в обратном хронологическом порядке (свежие сверху). Стрелки в шапке ленты переключают порядок на прямой и обратно.

Фильтрация по типам сообщений

Настройка Все типы событий на вкладке «Уведомления» в профиле пользователя:

  • Включена — в ленте отображаются комментарии всех типов, независимо от персональных настроек.
  • Выключена — отображаются только типы, отмеченные флажком «Видно в ленте».

Связана с настройкой профиля «Фильтровать комментарии в задаче согласно настройкам ленты»: настройки фильтрации действуют на все задачи в категории; в разных категориях могут отличаться.

Фильтрация влияет только на отображение — комментарии всех типов всегда публикуются и хранятся. Изменив настройки, можно увидеть ранее скрытые комментарии.

Адресация сообщений

Каждое сообщение отправляется в рамках задачи или чата. У сообщения один автор и несколько адресатов.

Адресат Поведение
Явный (поле «Кому») Сообщение помечается непрочитанным у адресата
Копия Получает сообщение, но «непрочитанным» не помечается
Всем Отправить всем подписчикам задачи
Никому Сообщение всегда попадает в список непрочитанных, уведомление — по настройкам категории

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

По умолчанию в выборе адресатов отображаются только подписчики задачи. Для выбора других пользователей — ввести имя в строку поиска. Поиск работает по имени, фамилии и основной должности. Начиная с версии 2.265 «Цефей» в выпадающем списке под именем и фамилией пользователя отображаются его основная должность и отдел, что ускоряет поиск нужного человека в организациях с большим числом сотрудников.

Отправитель в числе адресатов. Если пользователь явно указал себя в поле «Кому» или «Копия», он остаётся в адресатах отправленного сообщения: его строка есть в шапке и показывается одинаково в ленте, в ответе и в пересылке — и сразу после отправки, и после перезагрузки страницы. Своё сообщение ему при этом не приходит: строка отправителя помечается прочитанной и не попадает ни в уведомления (пуш, почта), ни в счётчик непрочитанного. Исключение — отправка с включённым «Принудительно на почту»: тогда письмо приходит и ему. В списке получателей по правой кнопке и в счётчике «прочитали» он виден так же, как при отправке сообщения только себе. Если себя указать и в «Кому», и в «Копия», в шапке он отобразится только в «Кому». То же верно рядом с тегом «Всем»: отправитель, назвавший себя вместе с «Всем», показывается в шапке как явно указанный адресат — в «Кому» это «Имя, Всем», в «Копии» — «Всем (Имя)».

Ограничения сохранения состава адресатов. Явно указанное «Себе» отображается в шапке, если отправитель выбран в «Кому» вместе с другими адресатами или указан только в «Копии». В этом случае собственное сообщение отправителя автоматически считается прочитанным и не создаёт ему обычное уведомление; при включённой принудительной отправке на почту отправитель получает письмо. Если отправитель выбран одновременно в «Кому» и «Копии», он отображается только в «Кому». Одиночное «Себе» в «Кому» работает как прежде.

Шапка показывает состав, который система сохранила для сообщения, но некоторые совпадающие адресаты не сохраняются отдельными чипами. Если один и тот же пользователь указан в «Кому» и «Копии», пользователь явно выбран внутри добавленной группы или группы пересекаются, часть исходных чипов может не отобразиться: исходный состав уже потерян при записи. Отображение после перезагрузки, ответа или пересылки эти чипы не восстанавливает. Доставка участникам группы при этом не страдает — речь именно о сохранении исходного состава для шапки.

Выбор групп в поле адресатов доступен только сотрудникам компании и администраторам категории.

Меню группы в полях «Кому» и «Копия». По правой кнопке мыши на чипе группы доступны два пункта. «Посмотреть участников» открывает окно с составом группы. «Развернуть список» заменяет группу её участниками: чип группы убирается, а вместо него в поле подставляются пользователи из её состава; те, кто в этом поле уже указан, повторно не добавляются. Пункт «Развернуть список» есть только у групп — у чипа пользователя его нет. Если состав группы пуст или получить его не удалось, поле не меняется и группа остаётся на месте.

Действия с чипом адресата. Крестик на чипе убирает только этого адресата — остальные остаются на месте в прежнем порядке. Клик по имени в чипе, а не по крестику, наоборот оставляет только этого адресата, а остальных убирает из поля. Чипы, которые удалить нельзя, — например, чип автора неотвеченного входящего вопроса, — при этом остаются: у них нет крестика, и клик по имени их не снимает.

Отметки в списке выбора адресата. Уже выбранный адресат в раскрытом списке не помечен: отметка снимается сразу после выбора. Поэтому список показывает только то, что происходит сейчас, — если адресат убран из поля, его строка отмечена не будет. Это верно и для удаления последнего адресата, и когда выбрано несколько: в поле может стоять чип, а в списке не будет отмечено ни одной строки. О том, кто выбран, видно по чипам в самом поле. Снятого адресата можно выбрать снова — он добавится обычным чипом, как при первом выборе.

Где открывается список выбора адресата. Список в полях «Кому» и «Копия» открывается в ту сторону, где он помещается целиком: если места под полем хватает, список идёт вниз, если нет — вверх, над полем. Это работает и при первом открытии сразу после загрузки страницы, и при повторном. Пока список сотрудников догружается, в панели видны только индикатор загрузки и пункт «Всем»; когда подписчики показаны, панель сразу встаёт в выбранную сторону — обрезанного снизу списка нет. Выбор адресата кликом, поиск по имени и добавление чипа работают как раньше.

Перетаскивание адресатов. Чипы пользователей и групп в полях «Кому» и «Копия» можно перетаскивать: внутри поля — чтобы поменять порядок, между полями — чтобы перенести адресата из «Кому» в «Копия» и обратно. Адресат встаёт туда, где его отпустили, и убирается из другого поля. Пользователя из блока «Подписчики» можно перетащить сразу в нужное место поля «Кому» или «Копия», а чип, перетащенный из поля обратно в блок «Подписчики», убирается из адресатов.

Как выглядит перетаскивание. Пока адресат «висит» на курсоре, остальные чипы в поле расходятся, освобождая место, — видно, куда адресат встанет. Сам перетаскиваемый чип приподнимается тенью, а если чип отпустить вне полей «Кому» и «Копия», перенос считается отменой: чип возвращается на прежнее место, адресат остаётся в поле.

Порядок адресатов при отправке. Порядок, заданный перетаскиванием, сохраняется при отправке — так его увидит получатель. Порядок хранится отдельно для сотрудников и отдельно для групп: если поставить сотрудника между группами, при отправке эти части всё равно разойдутся — сотрудники останутся вместе, группы вместе.

Адресаты в шапке сообщения. В ленте и в чате в шапке сообщения показывается не больше пяти адресатов в каждом из полей — лимит «Кому» и лимит «Копии» считаются отдельно, — в порядке: пользователи, затем группы; группа занимает одно место, как и ярлык «Всем». Остальные скрыты за ссылкой «и ещё N», где N — число скрытых адресатов этого поля. Ссылка своя у каждого поля: у «Копии» она стоит внутри скобок, поэтому у сообщения может быть две ссылки — «и ещё» после имён «Кому» и своя внутри блока «Копия». Клик по любой из них раскрывает полный список этого сообщения целиком; обратно список не сворачивается, другие сообщения остаются свёрнутыми. Клик по шапке сообщения — вне имени автора и ссылок — раскрывает список так же.

Дополнительные адресаты рядом с «Всем». «Всем» — это тег, а не сокращение фактического состава подписчиков. Сообщение, отправленное «Всем», показывается ярлыком «Всем»; если вместе с тегом в нём названы другие адресаты — любой пользователь в «Кому» или «Копии», в том числе сам отправитель и подписчик задачи, а также группа, — рядом с ярлыком выводится и этот состав. Правило действует и когда подписчика поставили вместе с тегом: его имя стоит рядом с ярлыком, как и у любого другого адресата. В один ярлык «Всем» состав сворачивается, только когда других адресатов нет. Правило одинаково в ленте задачи и в чате, и оно не зависит от числа подписчиков: ни небольшой состав, ни тег «Всем» не подменяются одним ярлыком. Видимый рядом состав на склейку соседних сообщений одного автора не влияет — они по-прежнему объединяются под одним аватаром.

Сортировка результатов поиска адресатов:

  1. Подписчики и частые собеседники (по рейтингу общения)
  2. Сотрудники той же оргструктуры
  3. Сотрудники компании (выше внешних пользователей)

Сортировка остаётся гибкой и подстраивается под контекст (например, при поиске в конкретном чате подписчики этого чата показываются раньше). При назначении исполнителей в задачах сохранён привычный алфавитный порядок.

Отправка без адресата невозможна для вопросов — кнопка «Как вопрос» блокируется, пока не указан адресат.

@-упоминание (визитка)

Символ @ после пробела, начала строки или открывающей скобки раскрывает список подписчиков. Выбор добавляет пользователя в поле «Кому». После отправки @-упоминание отображается как кликабельное имя — по нажатию открывается краткая карточка пользователя.

Панель команд (slash-команды)

В поле ввода сообщения можно быстро вставить команду или шаблон ответа через панель команд. Чтобы её открыть, введите / в начале поля или после пробела — появится список доступных команд с фильтрацией.

Где работает. В полях ввода сообщений — в ленте задачи, в карточке задачи и в чате.

Русская раскладка. Если на клавише «/» набирается точка (например, в русской раскладке), нажатие этой клавиши в поле ввода подставляет «/» и открывает панель — переключать раскладку не нужно. Замена срабатывает только там, где панель открывается; в остальных местах вводится точка. Backspace сразу после замены возвращает точку.

Что показывает. В одном списке два источника:

  • шаблоны быстрых ответов — заготовленные фразы, настроенные администратором категории;
  • платформенные slash-команды — команды Анфисы (/clear, /program:, /format и др.) и выбор модели.

Состав зависит от роли: администратор видит весь каталог, обычный сотрудник — команды без пометки «только для админа» (в частности, выбор модели /claude, /kimi доступен только администраторам), внешний пользователь платформенные команды не получает.

Как выбрать. Навигация — стрелками вверх/вниз, выбор — Enter, Tab или клик. Команда вставляется без пробела после неё, чтобы можно было сразу дописать параметры. Команда /clear при нажатии Enter отправляет сообщение сразу.

Несколько команд подряд. Команды набираются через пробел, пока каждое слово начинается с /. Как только после пробела идёт слово без /, дальнейший текст считается обычным сообщением:

/clear /claude проверь задачу

Параметры. Параметр записывается через двоеточие без пробела. У части команд есть русские написания (/модуль: = /box:, /программа: = /program:, /формат = /format):

  • /program:my-tasks-query — запуск программы по машинному имени;
  • /program:"Мои задачи" за неделю — по человекочитаемой подписи в кавычках;
  • /program:a,b — несколько программ через запятую.

Если панель не появляется — для текущего пользователя нет ни шаблонов быстрых ответов, ни доступных платформенных команд.

Момент загрузки данных панели. Шаблоны быстрых ответов и список команд загружаются не при открытии чата, а при первом обращении к полю ввода — фокусе или вводе /; при первом вызове панели содержимое может появиться с небольшой задержкой. Список сотрудников для полей получателей загружается при раскрытии списка; если загрузка не удалась, закройте и откройте список снова — запрос повторится. Команды относятся к текущему чату: после перехода в другой чат подсказки предыдущего не показываются. В чате с Анфисой подсказки в ленте загружаются сразу при открытии — это отдельный список, и на него правило не распространяется.

Режимы вставки готовых ответов и подсказок (чипы и шаблоны)

При выборе готового ответа — кликом по чипу над полем ввода, из блока подсказок в ленте или через панель slash-команд — вставка текста в поле комментария работает в одном из трёх режимов:

  • полная замена (по умолчанию): текст подсказки заменяет весь ранее набранный текст в поле;
  • добавление в конец: текст дописывается в конец сообщения независимо от позиции курсора; если текст в поле уже был, перед вставкой добавляется пробел;
  • вставка по шаблону: текст вставляется сразу после фрагмента, найденного по заданному шаблону. Если совпадений нет или шаблон некорректен, текст в поле остаётся без изменений.

Короткие названия чипов. На чипе может показываться короткое понятное название (например, «Service Desk»), а в поле при клике подставляется полный текст или команда (например, /servicedesk). Полный текст, который будет вставлен, всегда видно во всплывающей подсказке при наведении на чип.

В режиме чата клик по чипу сразу вставляет текст в поле и закрывает панель подсказок; у чипов кнопки сворачивания скрыты.

Аватар автора сообщения

Рядом с сообщением показывается аватар его автора: загруженное фото, а если фото нет — инициалы. Инициалы подчиняются общей настройке цвета аватаров: в режиме «цветные» у каждого человека свой устойчивый цвет, в режиме «фирменные» все инициалы окрашены основным цветом бренда, в режиме «серые» — серым. На фотографию режим не влияет. Поверх аватара показывается точка присутствия — и в ленте задачи, и в чатах. Пока автор в сети, точка горит зелёным. Если у автора идёт отсутствие, точка окрашивается в цвет этого типа отсутствия, и тем же цветом выводится его имя. Когда автор не в сети и текущего отсутствия у него нет, точки нет. У сообщений, отправленных от имени группы, точки на аватаре нет.

Аватар адресата в полях «Кому» и «Копия»

Каждый выбранный адресат показан в поле чипом, а в раскрытом списке — строкой с аватаром, именем, должностью и подразделением. Вид аватара зависит от того, кто адресат.

Кто адресат Аватар Точка присутствия
Пользователь фото, если оно загружено, иначе инициалы с устойчивым цветом есть
Группа, орг. единица, адрес электронной почты, группа встречи значок соответствующего типа нет

У пользователя точка зелёная, когда он в сети, и цвета текущего отсутствия, когда за ним зарегистрировано отсутствие с заполненным сообщением. Если человек не в сети и отсутствия нет, точки нет. Состояние обновляется по событиям присутствия, поэтому цвет имени адресата и точка показывают одно и то же. Цвет инициалов без фото подчиняется общей настройке цвета аватаров.

Индикаторы сообщений

В ленте рядом с сообщениями отображается несколько видов индикаторов — они показывают, набирает ли собеседник текст, доставлено ли сообщение и прочитали ли его.

Блок отметок у сообщения. Рядом с сообщением справа стоит одна строка служебных отметок. В ленте они идут в порядке: звезда избранного, значок закрепления, подпись «изменено», галки прочтения, время. В чате в виде баблов время и галки меняются местами: звезда, значок закрепления, «изменено», время, галки. Порядок одинаков и в списке чата, и в представлениях чата вне него — например, в закреплённых сообщениях. Звезда появляется у сообщения, добавленного в избранное, и окрашена жёлтым на обычном фоне и приглушённым серым на цветных баблах — вопросах к вам, ваших вопросах, непрочитанных ответах и ваших сообщениях в чате. Подпись «изменено» показывается у отредактированного сообщения, галки — у собственных отправленных сообщений и меняются по мере прочтения получателями. Имя автора и блок отметок стоят одной строкой: когда ширины не хватает, отметки отодвигают имя автора или переносят его на следующую строку, а текст сообщения остаётся читаемым. У сообщений без шапки — подряд идущих от одного автора и со скрытым получателем — время и отметки стоят в одной строке с содержимым сообщения и на узкой ширине на него не наезжают: содержимым может быть текст, превью ответа, пересылка, вложение, превью ссылки, опрос или блок виджетов. Аватар, точка присутствия и отступ от аватара до текста не изменились.

Набора текста

Когда собеседник набирает сообщение, над строкой ввода появляется «ФИО печатает...».

Отправки и прочтения

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

Индикатор Состояние
✓ (одинарный) Сообщение доставлено на сервер, никем не прочитано
✓✓ (двойной, серый) Прочитано кем-то из адресатов, но не всеми
✓✓ (двойной, синий) Прочитано всеми получателями

Индикатор не отображается для сообщений без адресата и для чужих сообщений.

Просмотр кто и когда прочитал — пункт Прочтения в контекстном меню. Показываются первые 5 пользователей, кнопка «Ещё» открывает полный список.

Открытие «Прочтений» не только показывает список, но и выравнивает индикатор сообщения: статус пересчитывается по фактическим отметкам просмотра всех адресатов и обновляется в ленте сразу, без перезагрузки страницы. Поэтому расхождение — например, серая галка у сообщения, которое в списке уже прочитано всеми, — исчезает в тот же момент.

«Прочтения» и вкладка «Новые». Список «Прочтения» — не только справка о том, кто прочитал сообщение. В главной ленте на вкладке «Новые» при включённом переключателе «Прочитано» прочитанное сообщение остаётся в списке, если текущий пользователь есть в его «Прочтениях»: он значится в адресатах, в копии или отмечен прочитавшим автоматически. Если пользователя в «Прочтениях» нет — сообщение собственное или адресовано только другим, — в этой вкладке оно не появится.

Индикатор не отстаёт и сам, без открытия «Прочтений»: статусы галок своих сообщений актуализируются автоматически при открытии ленты, после восстановления соединения и при возврате на вкладку браузера. Если собеседник прочитал сообщения «через одно», каждая прочитанная галка обновится отдельно.

Черновик

При закрытии задачи недописанный черновик сохраняется. При повторном открытии текст восстанавливается.

Форматирование текста

При выделении текста в поле ввода появляется панель форматирования; она автоматически скрывается, как только выделение пропадает — при наборе, удалении или вставке текста с клавиатуры, навигации клавишами (стрелки, Esc) или клике в пустую область. Также доступен markdown — жирный **текст**, курсив __текст__, зачёркнутый, подчёркнутый, код, ссылки, заголовки, таблицы, списки, спойлер: полная таблица разметки с разбивкой по клиентам (веб, iOS, Android) — в форматировании текста.

Специфика поля ввода комментария поверх общей разметки: #номер и №номер дают активную ссылку на задачу, +#номер — устанавливает связь с задачей.

Горячие клавиши форматирования: Ctrl/Cmd+B (жирный), Ctrl/Cmd+I (курсив), Ctrl/Cmd+U (подчёркивание), Ctrl/Cmd+Shift+X (зачёркивание). Повторное применение снимает форматирование.

Вставка из внешних источников (Ctrl/Cmd+V): система автоматически приводит Markdown и HTML (Word, веб-страницы) к единому виду — заголовки → жирный, маркированные списки, ссылки, переносы строк сохраняются.

Превью ссылок: при добавлении ссылки на задачу, чат, пространство — автоматически формируется блок-превью (аватарка, текст, категория, номер). Полная ссылка на карточку задачи этой площадки превращается в такой же блок-превью при отправке комментария, поэтому ссылка, добавленная при редактировании уже отправленного комментария, превью не даёт. При добавлении внешнего URL — превью-карточка с заголовком и описанием из OG-метаданных.

Безопасность текста комментария. Опасные фрагменты разметки не исполняются: теги (<script>, <iframe>, <img>, <form>, <style>), атрибуты-обработчики событий (onclick=, onerror=, onload=) и ссылки с запрещённой схемой (javascript:, data:, vbscript:, file:, blob:). Такой фрагмент не удаляется молча, а заменяется видимой пометкой — тег на ⚠ [tag заблокирован], атрибут на ⚠ [атрибут заблокирован], ссылка на ⚠ [ссылка заблокирована]; пометка выглядит как фрагмент кода. Текст внутри блока кода не проверяется и сохраняется как набран. Если в отправленном сообщении был заблокированный фрагмент, в шапке сообщения показывается значок с подсказкой «Часть содержимого заблокирована».

Проверка работает в режиме нового markdown — том самом, который включается настройкой границы адресатов. Сообщения, написанные до включения режима, показываются как есть: признака того, что из старого сообщения что-то вырезали, у них нет.

Что остаётся в тексте, а что нет. Проверка разметки не должна задевать обычный текст:

  • угловая скобка > внутри значения атрибута не обрывает распознавание тега. Комментарий с тегом, у которого в атрибуте стоит сравнительный знак или продолжение адреса (например, span с title="a > b"), сохраняется целиком — текст после такого тега не теряется;
  • упоминание в тексте имени известного HTML-элемента без закрывающей скобки — например, List<object>, до <svg> хвост, math, video, title — не считается тегом. Такой фрагмент вне блока кода сохраняется как набран, вместе с текстом после него; маска на него не ставится;
  • но если у такого незакрытого элемента стоит атрибут-обработчик (например, onload), атрибут блокируется: хвост комментария и видимая пометка ⚠ [атрибут заблокирован] остаются, значение обработчика не сохраняется, а у сообщения выставляется признак блокировки;
  • тот же текст, поставленный рядом с заблокированным тегом (script), не теряет ни хвост, ни видимую пометку.

Разметка в системных комментариях. Системные записи ленты собираются на сервере: имя задачи и текст подставляются в готовую разметку ссылки на задачу. Имя задачи берётся как текст — после снятия разметки — и кодируется перед вставкой в HTML системного комментария, поэтому угловые скобки и амперсанд в имени не превращаются в теги, а ссылка на задачу продолжает работать. Имя задачи с введённым через HTML-сущности тегом не исполняется в системных записях: переход по маршруту, создание задачи, изменение текста, смена срока и служебные записи показывают имя как обычный текст. Кодирование выполняется на сервере и от клиента не зависит.

Автоспойлер при вставке большого текста. Если при вставке из буфера (Ctrl/Cmd+V) текст длиннее шести строк или содержит больше 500 символов, система сама ставит в него маркер спойлера +++: вставляемая часть сворачивается под «Показать больше», а то, что уже было набрано в поле, остаётся видимым. Пороги считаются по вставляемому тексту, разметка из буфера при этом приводится к общему виду как обычно. Маркер вставляется обычным текстом — до отправки его можно убрать или перенести вручную.

Длинный текст: текст комментария, превышающий шесть строк, после отправки автоматически обрезается многоточием. Под текстом появляется кликабельная ссылка «Показать полностью» для отображения полного содержимого сообщения. В МТФ и в виде чата обрезка по строкам не применяется: текст показывается целиком и сворачивается только по маркеру спойлера +++.

Сообщения только из эмодзи (один или несколько, в т.ч. через пробел) отображаются увеличенным шрифтом.

Непарный символ из пары. Если в тексте оказался одиночный символ из суррогатной пары — например, при вставке обрезанного фрагмента, — сообщение сохраняется без ошибки: непарный символ остаётся как есть, остальной текст не теряется.

Ссылки на файлы и папки Диска в сообщениях

В комментариях, сообщениях чата и при просмотре Markdown-файлов платформа автоматически распознаёт ссылки на объекты Диска. Если путь соответствует существующему файлу или папке и у пользователя есть права доступа, путь отображается как ссылка: по нажатию открывается файл во встроенном просмотрщике или соответствующая папка на Диске.

Исходный текст сообщения или файла при этом не изменяется — преобразование выполняется только визуально при отображении. Если путь не найден или недоступен, он остаётся обычным текстом.

Во встроенном просмотрщике .md-файлов дополнительно поддерживаются относительные ссылки на другие .md-файлы и ссылки с якорями (#anchor) для навигации внутри документа.

Механизм ориентирован на пути Диска и markdown-ссылки. Произвольные строки со слешами в ссылки автоматически не преобразуются — нераспознанные или недоступные пути остаются без преобразования.

Действия с сообщениями

Контекстное меню сообщения

Сообщение в ленте с кнопками быстрых действий

Открывается по ПКМ на сообщении (единое для текста, файла и превью):

Пункт Описание
Ответить Ответить на конкретное сообщение. Если у исходного сообщения есть вложения, в цитате виден квадратный значок вложения — см. «Вложения в цитате ответа»
Ответить всем Ответить, сохранив круг участников: в «Кому» подставляется автор сообщения, в «Копию» — его адресаты и копия без повторов и без вас. При ответе на собственное сообщение адресаты и копия переносятся как есть
Как вопрос Пометить сообщение как вопрос (у адресата появляется счётчик)
Как отвеченный Снять вопрос (только для своих сообщений)
Вопрос не мне Убрать себя из адресатов вопроса (с возможностью оставить сообщение). Доступен адресату вопроса с несколькими получателями; не отображается у автора вопроса и у не-адресатов. Для остальных участников сообщение остаётся отмеченным как вопрос
Как непрочитанный Вернуть сообщению статус непрочитанного
Начать обсуждение Создать тред по сообщению
В избранное Добавить сообщение в избранное: рядом со временем сообщения появляется звёздочка, само сообщение попадает в ленту на вкладке «Избранные»
Изменить Редактировать текст и адресатов (если разрешено категорией)
Переслать Открыть подменю: переслать в текущую задачу или чат либо выбрать другую цель. В подменю «Копировать ссылку» стоит после «В текущую задачу» (в чате — «В текущий чат») и перед «Ещё»

| Выбрать | Войти в режим массового выбора сообщений | | Прочтения | Кто и когда прочитал сообщение | | Создать → Задачу / Подзадачу | Создать задачу из текста сообщения (с опцией копирования файлов). В окне выбора категории над деревом предлагаются текущая категория и рекомендуемые категории (список настраивается администратором); в личных и групповых чатах текущая категория не предлагается | | Ответы | Кто ответил на вопрос (только для вопросов с несколькими адресатами) | | Удалить | Удалить сообщение (только своё; чужое — только для администраторов категории) |

Также: Реакции — короткий список эмодзи вверху меню; стрелка раскрывает полный список.

Поиск в ленте

Кнопка поиска в правой части блока ленты. Поиск работает по тексту, в т.ч. по названиям обсуждений.

На десктопе поиск в панели блока главной ленты представлен кнопкой с иконкой лупы рядом с меню сортировки. По нажатию строка поиска разворачивается поверх панели инструментов — по её высоте и со скруглением углов, — перекрывая на время поиска соседние элементы управления (сортировку, переключатель непрочитанных, вкладки). После нажатия крестика или очистки строки поиск сворачивается обратно в кнопку-лупу, и элементы управления возвращаются на место. В общей ленте на вкладке «Лента», если включена опция «Группировать», непустой поисковый запрос временно переключает результат на плоский список найденных комментариев. Сама настройка «Группировать» при этом не отключается и не меняется: после очистки запроса снова показываются карточки задач в сгруппированном виде. На остальных вкладках ленты поиск и очистка работают в их обычном представлении.

Вложение файлов в сообщение

Служебный комментарий с техническими данными

В задачах, созданных через пункт «Помощь» в меню профиля, лента начинается со служебного комментария «Технические данные». В нём — среда пользователя: браузер и операционная система, адрес страницы, версия клиента, время клиента и сервера, последние ошибки JavaScript и неуспешные HTTP-запросы текущей сессии. Комментарий добавляет система; уведомления по нему не рассылаются, а при большом объёме данных подробности прикладываются файлом к задаче. Если у пользователя нет права комментировать созданную задачу, комментарий не добавляется.

Карточка вложенного файла в форме набора мессенджера подсвечивается при наведении и имеет скругление углов — так видно, что на карточку можно нажать. В ленте задачи, в карточке, на Диске и в опубликованных комментариях карточка выглядит как прежде.

Кнопка прикрепления в поле ввода предлагает варианты:

Вариант Поведение
Файлы Передача в исходном виде, без сжатия. Используется для изображений с мелким текстом и видео для дальнейшей обработки. В форме набора мессенджера изображения из этого пункта, наоборот, добавляются сжатыми по умолчанию — режим можно поменять до отправки (см. ниже)
Фото или видео Медиа-режим: изображения и видео автоматически сжимаются и оптимизируются. Удобно для быстрого просмотра
Создать Текстовый документ, таблица или текстовый файл — прямо в поле сообщения, без загрузки с устройства. Подробнее — в Диске, раздел «Создание документа из поля сообщения»
Создать опрос Создать опрос
Вставить из вложений Выбор файла из числа прикреплённых к задаче. Файл встаёт вложением в неотправленное сообщение, загружать его с устройства не нужно
Вставить из диска Выбор файла из доступных разделов Диска в окне выбора. Сообщение прикрепляется ссылкой на существующий файл

Вставка существующих файлов. Пункты «Вставить из вложений» и «Вставить из диска» отделены от остальных пунктов меню разделительной линией. Они не загружают файл заново и не создают его копию или новую версию — сообщение ссылается на уже существующий файл, поэтому приложить один и тот же файл можно повторно. Файл, вставленный с Диска, помечается во вложении иконкой «облачко». Пункты доступны и в ленте задачи, и в поле ввода чата.

Что доступно для выбора. В списке «Вставить из вложений» — все файлы, которые видит пользователь у задачи: и прикреплённые к сообщениям раньше, и загруженные прямо в блок «Файлы». Один и тот же файл можно указывать в сообщениях сколько угодно раз — каждый раз добавляется ссылка на тот же файл, второй копии не создаётся.

Вставленный файл сразу включает отправку: пока в поле нет текста, справа от него стоит кнопка «Отправить сообщение», а не кнопка микрофона.

Отправка файла в сообщение со стороны файла. Файл попадает в сообщение не только через кнопку прикрепления: пункт «Поделиться в сообщении» есть в меню файла на Диске и в меню файла, прикреплённого к задаче. В окне «Поделиться файлом» выбирается задача или чат — поиск по номеру и тексту, пользователи и пространства в списке не предлагаются. После выбора открывается лента задачи или вид чата, файл встаёт вложением в поле ввода, и сообщение отправляется обычным способом — само оно не уходит. Вложением файл становится таким же, как при вставке с Диска: ссылкой с иконкой «облачко». Пункта нет в мобильной версии и в диалогах «Вставить из вложений» и «Вставить из диска».

Файлы можно перетащить в поле ввода с компьютера или использовать горячие клавиши Ctrl+U (Windows) / Ctrl+Cmd+U (Mac). После добавления в поле автоматически появляется фокус — можно сразу набирать текст. При переносе файла в окно браузера поле ввода комментария — в ленте задачи и в карточке — и область переписки в чате подсвечиваются мягким фоном, а при наведении непосредственно на поле выделяются пунктирной рамкой. После добавления файла в поле автоматически появляется фокус — можно сразу набрать сопровождающий текст.

Кнопка отправки после добавления файла. Как только в поле ввода есть вложение — неважно, добавлено ли оно с устройства, через «Вставить из вложений», «Вставить из диска» или «Поделиться в сообщении», — вместо кнопки микрофона показывается кнопка «Отправить сообщение». Вводить текст для этого не нужно: сообщение из одного вложения отправляется и по кнопке, и по Enter. Кнопка «Записать аудиосообщение» остаётся только в пустом поле без вложений.

Предложение сжать изображения в чате. Если в чате выбрать шесть и более файлов, среди которых есть изображения, появляется вопрос, отправлять ли изображения сжатыми: ответ «Да» сжимает изображения, «Нет» прикрепляет их без сжатия, а закрытие окна отменяет добавление выбранной пачки файлов — набранный текст и ранее добавленные вложения при этом сохраняются. Вопрос задаётся независимо от выбранного варианта прикрепления — «Файлы» или «Фото или видео».

Файлы 0 байт не загружаются: «Файлы не переданы или не содержат данных». Сообщение, состоящее только из вложения без текста, нельзя редактировать.

Если в задаче запрещено вложение файлов, кнопка прикрепления и связанные возможности скрыты.

Отправка не прерывается уходом с формы. Начатая отправка продолжается, даже если уйти из формы: файлы докачиваются в фоне, и по завершении загрузки сообщение уходит в ленту. Пока отправка не завершена, сообщение видно в ленте локальной строкой — вместо времени у неё индикатор хода загрузки. Если отправка не удалась, индикатор сменяется значком ошибки, а в меню сообщения появляются пункты «Повторить отправку» и «Удалить». Удаление такой строки отменяет и отправку, и незавершённую загрузку её файлов.

Результат отправки после ухода со страницы. Если к моменту завершения отправки пользователь уже ушёл из формы, переключился на другую задачу, открыл другой чат или закрыл ленту, результат сообщается всплывающим уведомлением: при успехе — «Сообщение отправлено», при неудаче — «Не удалось отправить сообщение» с действием «Перейти». Переход возвращает в исходное место — задачу, чат или обсуждение, — где сообщение осталось неотправленным и доступны «Повторить отправку» и «Удалить»; отдельной очереди отправки нет.

Где это работает. Правило одинаково во всех местах, где можно написать сообщение с файлом: лента сообщений задачи, сгруппированная лента, публикации и вопросы-ответы, конкретный чат и обсуждение внутри него, карточка задачи — и на странице, и в модальном окне, в том числе открытая из подзадачи. Переходы значения не имеют: другой чат, другая вкладка ленты, открытие или закрытие модального окна, переход к другой задаче.

Одно уведомление на одно сообщение. Если в фоне догружаются несколько сообщений, появляется по уведомлению на каждое завершившееся — это ожидаемое поведение, а не повтор одной отправки. Вернувшись в исходное место, пользователь видит ровно одно сообщение с файлами: второй копии ни в ленте, ни в чате не появляется.

Пока открыта вкладка. Фоновая догрузка работает, пока открыто приложение. Если закрыть вкладку или обновить страницу во время незавершённой отправки, браузер спросит подтверждение — отправка при этом прерывается, а сообщение остаётся неотправленным. Как только все отправки завершились, подтверждение больше не появляется.

Это не то же самое, что отложенная отправка: там сообщение уходит в очередь на сервере и публикуется в выбранный момент, здесь отправка идёт сразу и просто продолжается, пока пользователь смотрит на другую страницу.

Превью крупных изображений. Изображение большого размера (примерно от 16 МБ) показывается в ленте и во вложениях значком-заглушкой вместо миниатюры. Это не значит, что файл повреждён — чтобы увидеть изображение в полном размере, откройте файл.

Режим сжатия у добавленного изображения. В форме набора мессенджера решение о сжатии можно изменить уже после добавления файла — до отправки сообщения. Правый щелчок по карточке изображения открывает меню «Сжатый файл / Без сжатия», текущий выбор отмечен галочкой. Пункт доступен только для изображений и только в мессенджере: в ленте задачи, в карточке задачи, у файлового дополнительного параметра, на Диске и в опубликованном комментарии меню не появляется и вид карточки не меняется. У сжатого файла рядом с именем серым дописывается метка (Сжатый); у файла без сжатия метки нет. Переключение на «Без сжатия» заново загружает оригинал и заменяет выбранный вариант — в отправленном сообщении остаётся один файл, без копий. Имя, заданное в форме набора, при смене режима сохраняется. Переключение доступно только до отправки сообщения: в отправленном сообщении режим файла уже не меняется и признак сжатия не показывается.

Действия с файлом в сообщении

Контекстное меню по ПКМ на файле:

Пункт Описание
Изменить Редактирование (только для текстовых вложений)
Скачать / Скачать все Скачать конкретный файл / все файлы из сообщения
Открыть в папке диска Перейти к папке Диска (только для файлов из Диска — отмечены иконкой)
Просмотр версий Окно истории версий
Открыть актуальную версию Только если у файла есть более новая версия
Скопировать ссылку Полный URL файла
Удалить Убрать файл из сообщения
Переименовать Изменить имя файла
Сжатый файл / Без сжатия Переключение режима сжатия изображения в форме набора мессенджера; текущий выбор отмечен галочкой. Пункт есть только у изображений и только в мессенджере

Число версий файла. В сообщении с файлом видно, сколько у файла версий, — это число приходит вместе с данными ленты, отдельного запроса для счётчика не делается. Когда версий несколько, открывается список версий; для одного файла без истории счётчик версий не показывается.

Файл из сообщения можно поместить в файловое дополнительное поле задачи или сохранить туда копию. При помещении файл остаётся в сообщении. Подробности — в разделе «Копирование и перемещение файла между файловыми полями» на странице «Файлы».

Контекстное меню также доступно в режиме редактирования сообщения.

Пункт «Переименовать» показывается, только когда выполнены все три условия: у пользователя есть право изменять файлы в задаче, статус задачи не запрещает править и удалять файлы, файл не зашифрован. Для файла в сообщении действуют права задачи, а не права папки Диска, из которой файл добавлен.

Исправить имя можно и до отправки — у файла, вложенного в ещё не отправленное сообщение. Пока файл загружается, пункт недоступен; после загрузки имя меняется сразу в окне написания, и сообщение уходит уже с новым именем.

Если файл с новым именем в задаче уже есть, открывается тот же диалог выбора, что и на Диске: переименовать по-другому, заменить существующий файл или оставить оба. При замене содержимое переименованного файла становится новой версией существующего, а сообщение продолжает показывать этот существующий файл — вложение не теряется. Новое имя видно в сообщении сразу, без обновления страницы.

У интерактивных отчётов (вложения *.dash.html) пункта «Переименовать» нет: имя файла служит признаком, по которому отчёт распознаётся и выводится в сообщении.

Состав вложений сообщения. Он определяется самим сообщением: показываются файлы, привязанные к нему, независимо от того, к скольким задачам привязан каждый файл. Один и тот же файл не появляется в сообщении дважды, а файл без привязки к задаче из состава не выпадает. Набор одинаков везде, где сообщение отображается, — в ленте задачи, в чате и в мобильном приложении.

Перезапись и просмотр

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

Просмотр или скачивание файла из нового сообщения в ленте приравнивается к прочтению сообщения.

Видео в превью ленты: - Размер ≤ 50 МБ — автоматически воспроизводится при клике на превью прямо в ленте. - Размер > 50 МБ — клик открывает отдельное окно просмотрщика.

Документы, созданные прямо в поле комментарияКроме пустого документа, в поле комментария можно создать файл по шаблону: пункты списка шаблонов появляются в том же меню вложения и настроены для блока вложений задачи. Такой файл, как и обычный созданный документ, до публикации лежит в «Черновиках»: он уходит вложением в отправленный комментарий и удаляется из «Черновиков», а снятый крестиком остаётся там.

В меню вложения композера можно создать новый документ, не уходя на Диск (домен Диска). Такой документ до публикации лежит в «Черновиках» и удаляется оттуда, когда комментарий с ним успешно опубликован или когда пользователь сам отменяет отправку и закрывает поле. Снятие документа крестиком до отправки файл не удаляет. Обычные вложения эта логика не затрагивает; ошибка удаления пользователю не показывается, и файл в этом случае остаётся в «Черновиках».

Вид вложения одинаков во всех местах, где файл прикреплён к переписке — карточка задачи, лента сообщений, чат, письмо. Как выглядит плашка и какие у неё кнопки — в разделе «Как выглядит вложение» на странице «Файлы».

Просмотр и редактирование вложенных документов

Офисные документы, прикреплённые к комментарию, открываются во встроенном просмотрщике прямо из ленты. Если у пользователя есть право изменять файлы задачи, в панели инструментов просмотрщика доступна кнопка «Редактировать» — так же, как при открытии из блока «Файлы» в карточке. При просмотре устаревшей версии файла редактирование недоступно, пока не перейти по ссылке к актуальной версии.

Вложения в цитате ответа

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

  • Если среди вложений есть картинка, в квадрат идёт она — первая по порядку, кадрированная до квадрата. Картинками считаются JPEG, PNG, GIF и WebP.
  • Если картинки нет, показывается плитка с фоном по типу файла и его расширением — та же, что у вложения в сообщении. Так же выглядит вложение-видео: отдельного превью первого кадра нет.
  • Формат SVG и вложение без типа тоже показываются плиткой.

Квадрат — только признак наличия вложения: сам он файл не открывает и просмотрщик не запускает. Нажатие на цитату, в том числе на сам квадрат, переводит к исходному сообщению — вложение смотрят уже там. У блока пересылки такого значка нет.

Стикер отдельным знаком вложения не считается: и в цитате ответа, и в блоке пересылки он показывается картинкой по признаку стикера самого комментария, а не плиткой вложения рядом с цитатой.

Переход к исходному сообщению по цитате

Нажатие на цитату в ответе открывает исходное сообщение: лента прокручивается к нему и коротко подсвечивает его. Это работает в любом виде ленты — в карточке задачи, в чате и в общей ленте.

Если исходного сообщения нет в уже загруженной странице (лента подгружается постранично, а сообщение может быть старше), общая лента сама дозагружает фрагмент переписки вокруг него и прокручивается к нему. Дополнительно ничего нажимать не нужно, переход к сообщению происходит по тому же клику.

Где вызвано Поведение
Общая лента комментариев (страница ленты задачи, открытая из главной ленты, ленты по категории или канала) Переход к сообщению; при необходимости лента сначала дозагружает фрагмент переписки вокруг него
Карточка задачи Переход к сообщению
Чат и открытое обсуждение Переход к сообщению, как раньше

Если переход выполняется, пока лента ещё загружается, он не теряется: лента сначала доходит до конца загрузки и выполняет переход после неё.

Простые опросы в ленте сообщений

Простой опрос в ленте — это отдельный механизм, не связанный с опросами-тестами на базе SurveyJS (см. раздел «Опросы (SurveyJS)»).

Простые опросы доступны начиная с версии 2.265 «Цефей». Опрос публикуется прямо в ленте сообщений карточки задачи. Для создания нужно нажать кнопку прикрепления файла в поле ввода и выбрать опцию Создать опрос.

Опрос в ленте работает непрерывно с момента публикации и не имеет ограничения по времени сбора ответов. К одному сообщению может быть прикреплён один опрос. Действует правило: один пользователь — один голос. Поддерживается создание опроса только с одним вопросом.

Форма создания опроса:

Элемент Описание
Вопрос Обязательное поле, текст ограничен 100 символами
Варианты ответа Поля с ограничением 100 символов каждое. По умолчанию отображается два поля; новые добавляются по кнопке Добавить ответ
Анонимный опрос Скрывает информацию о том, кто за какой вариант проголосовал — имена и аватары участников не отображаются в результатах
Выбор нескольких ответов Разрешает участнику выбрать несколько вариантов одновременно. Без этой настройки доступен только один вариант

По умолчанию для всех опросов установлен синий цвет. Переключатель Выбрать цвет позволяет выбрать одну из десяти цветовых тем: красный, розовый, фиолетовый, синий, голубой, зелёный, жёлтый, оранжевый, коричневый, серый.

При нажатии кнопки Создать опрос форма опроса добавляется как вложение к новому сообщению. В этом же окне можно указать адресатов и при необходимости добавить текстовый комментарий к опросу. До момента отправки опрос остаётся черновиком и доступен для редактирования — для этого служит кнопка редактирования опроса справа от текста вопроса.

Опрос после публикации. В ленте опрос отображается с вариантами ответов, счётчиком голосов и процентным соотношением результатов. В публичных опросах отмечается вариант, выбранный текущим пользователем, и виден список проголосовавших. Для публичного опроса, где уже проголосовали другие пользователи, отображается ссылка «Проголосовали X человек» — по клику открывается модальное окно, в котором варианты ответов представлены вкладками; выбрав вкладку, можно увидеть список отдавших за этот вариант голос.

Отмена голоса. Пользователь может снять ранее отданный голос и проголосовать заново. В опросе с одним вариантом ответа для отмены достаточно повторно нажать на выбранный пункт. В опросах с несколькими вариантами голос отменяется через контекстное меню (ПКМ) пунктом Отменить свой голос. Голос можно отменить в любой момент после ответа на опрос.

Стикеры в сообщениях

Сообщение может быть стикером — картинкой из набора, который загружает администратор системы. Стикер отправляется вместо текста: сообщение со стикером публикуется и с пустым полем ввода.

Как отправить. Кнопка выбора стикера находится в панели ввода и показывается только при включённой настройке «Стикеры» в «Возможностях чата»; в карточке задачи и в тредах её нет. Нажатие открывает панель с вкладками паков и сеткой стикеров, клик по стикеру сразу отправляет сообщение.

Что видно в панели выбора. Пользователю показываются только включённые паки — глобальные или относящиеся к его компании. Стикеры внутри пака идут в порядке, заданном администратором. Уже отправленный стикер остаётся видимым в ленте всем, у кого есть доступ к задаче, даже если пак потом выключили.

Где доступны. Стикер принимается только там, где стикеры разрешены настройками чата. Если у задачи нет настроек чата или стикеры в них выключены, отправка отклоняется. Так же отклоняется отправка стикера, которого нет в наборе. Стикер из выключенного пака или пака чужой компании отклоняется так же, как несуществующий: при приёме действует тот же отбор, что и в панели выбора.

С чем не сочетается. Стикер занимает сообщение целиком. Вместе с ним в одном сообщении нельзя отправить файлы (в том числе ссылки на файлы Диска), опрос, ссылки-превью и пересылаемое чужое сообщение — такая отправка отклоняется. Уже отправленное сообщение со стикером не редактируется: попытка дописать в него текст, приложить файл или добавить ссылку тоже отклоняется.

Что видит получатель. В ленте стикер приходит отдельным элементом сообщения, а не вложением: в список файлов задачи он не попадает и в блоке вложений не показывается.

Отображение в чате задачи. Стикер в чате задачи показывается одинаково — сразу после отправки, после перезагрузки страницы, при прокрутке к более ранним сообщениям, в результатах поиска и внутри обсуждения: признак стикера приходит вместе с комментарием на всех этих путях, и пустого пузыря с временем на месте стикера не остаётся.

Уведомления. Текста у сообщения со стикером нет, поэтому в push-уведомлении, письме и СМС вместо текста приходит пометка «[Стикер]». Сама картинка в уведомление не вкладывается.

Ответ, пересылка и цитирование. Ответить стикером на чужое сообщение можно — цитата исходного сообщения при этом сохраняется. Само сообщение со стикером пересылается только целиком: вариант «только файл» для него не работает, вложений в таком сообщении нет. В пересланном сообщении и в цитате ответа стикер выводится картинкой: сервер вместе с исходным сообщением передаёт признак стикера, и клиент показывает по нему изображение. Когда на сообщение со стикером отвечают письмом или пересылают его письмом, в теме и в цитате вместо пустого текста стоит пометка «[Стикер]»; если к стикеру был дописан текст, цитируется этот текст.

Пересылка стикера. Пересланное сообщение со стикером публикуется стикером: новый комментарий несёт тот же стикер, что исходный, текста у него нет, а в уведомлении стоит пометка «[Стикер]». Стикер переносится, если исходное сообщение доступно отправителю и не лежит в зашифрованной задаче. Пересылка недоступного или зашифрованного сообщения — единственный случай, когда стикер не переносится: новое сообщение создаётся без него, чтобы в ленту не попала картинка из чужого источника. Пересылка в чат с выключенными стикерами отклоняется так же, как прямая отправка. Вместе со стикером нельзя приложить файл, опрос или ссылку: такая отправка отклоняется, и сообщение не появляется.

Отложенная отправка сообщения

Сообщение можно отправить не сейчас, а в выбранный момент: оно ставится в очередь на сервере и публикуется в ленту, когда наступает назначенное время.

Где доступно. Отложить можно сообщение из панели ввода, открытой в контексте задачи, — в ленте задачи, в чате, в карточке задачи. В постах соцсети отложенной отправки нет. Не предлагается она и там, где отправка потеряла бы часть сообщения: у анонимных сообщений (анонимность в отложенную отправку не передаётся) и при пересылке нескольких сообщений сразу (принимается только одна пересылка).

Пункта «Отправить позже» нет и в режиме правки уже отправленного сообщения. Нет его и у кнопки записи аудио: пока поле ввода пусто и в панели показывается микрофон, отложить голосовое сообщение нельзя.

Как отложить. У кнопки отправки есть меню — оно открывается правым щелчком по кнопке или удержанием (около 0,3 с), пункт меню — «Отправить позже». Дальше открывается общий выбор даты и времени: по умолчанию подставлен момент на час вперёд, выбрать время раньше текущего нельзя. Подтверждение ставит сообщение в очередь с тем, что набрано в панели ввода, — текстом, вложениями, адресатами, опросом. Панель после этого очищается, но только от того, что ушло в отложенное: если после постановки в очередь в ней успели набрать новое сообщение, оно не пропадёт. Если панель заполнена некорректно (например, в опросе нет вопроса или второго варианта) или вложение не удалось загрузить, отложенная отправка не создаётся — пользователь видит сообщение об ошибке.

Отмена и очередь. Отмена или закрытие окна выбора ничего не создаёт и не стирает: набранные текст и вложения остаются в панели ввода, и попытку можно повторить. Поставить в очередь можно и несколько сообщений подряд — у каждого своё время отправки.

Список отложенных. В панели ввода есть кнопка «Отложенная отправка» — она появляется, когда у пользователя есть хотя бы одно отложенное сообщение или не удалось получить список, и скрывается, пока в поле ввода набран текст. Кнопка открывает окно «Отложенная отправка» со списком своих отложенных сообщений. Строки идут по назначенному времени, ближайшее — сверху; в строке видны время, текст сообщения, пометки «Вложения: N» и «Опрос», если они есть, и сообщение о сбое, если публикация не удалась. Пустой список выглядит как «Нет отложенных сообщений»; если список не загрузился, в окне стоит «Ошибка загрузки» и кнопка «Попробовать еще раз».

Удаление и отмена — одно действие. Отдельной операции отмены у отложенного сообщения нет: отменить отправку и удалить сообщение — одна и та же операция, поэтому в меню строки один пункт «Удалить». Перед удалением показывается подтверждение: «Отложенное сообщение будет удалено и не отправится. Продолжить?». Пока сообщение уже отправляется, действие в строке недоступно. Если к моменту удаления сервер уже забрал сообщение в отправку, оно исчезает из списка с сообщением «Сообщение уже отправляется, отменить его нельзя.» Удаление последней строки закрывает окно.

Пересылка сообщений

Форма пересылки сообщения с вложением

Вариант Поведение
В текущую задачу Переходит к полю написания с закреплённым исходным сообщением
Выбрать Модальное окно: поиск по номеру/тексту задач и чатов, фильтр «Только задачи» / «Только пользователи»
Из задачи в чат После выбора открывается вид чата
Из чата в задачу После выбора открывается форма задачи
Из любого источника в пространство После выбора открывается страница пространства

Состав списка чатов. В окне выбора предлагаются только чаты, где пользователь является действующим подписчиком: подписанные лично и групповые чаты тех групп, в которых он состоит сейчас. Чат группы, из которой пользователь вышел или был исключён, в списке не появляется. Закрытые чаты в список не попадают.

Пересланное сообщение публикуется как новое (реакции и служебные данные не переносятся). При пересылке с вложением можно выбрать — пересылать полностью или только файл.

Отказ при пересылке «только файлы». Если выбран режим передачи только файлов, но среди выбранных сообщений нет ни одного вложения (например, выбраны текстовые сообщения или стикеры), отправка отклоняется с сообщением вида «В пересылаемых комментариях нет файлов: » — в нём перечисляются номера тех сообщений, у которых вложений нет. Пересылка в этом режиме возможна только для сообщений с файлами.

Выбор режима пересылки: полностью или только файлы

⚠️ Из зашифрованной задачи пересылка возможна только в текущую задачу.

Стикер пересылается вместе с сообщением: в новом сообщении он приходит той же картинкой, что и в исходном, с пометкой «Переслано», а в уведомлении вместо текста стоит пометка «[Стикер]». Не переносится он только из недоступного или зашифрованного сообщения — в этом случае возможна пометка пересылки без картинки стикера. Пересылка стикера в чат с выключенными стикерами отклоняется, как и обычная отправка стикера.

Целевое обсуждение. Помимо задачи-приёмника при пересылке можно указать конкретное обсуждение внутри неё — тогда пересланные сообщения публикуются в этом треде, а не в общей ленте задачи. В качестве цели принимается как корневое сообщение обсуждения, так и любое сообщение внутри него: тред в обоих случаях определяется по корню. Обсуждение должно принадлежать задаче-приёмнику; обычное сообщение вне обсуждений целью быть не может. Если обсуждение не указано, пересланные сообщения попадают в общую ленту задачи-приёмника — даже когда исходное сообщение находилось в треде.

Пересылка из обсуждения. Если меню пересылки вызвано внутри обсуждения, приёмником становится основная лента задачи, а не обсуждение, из которого меню вызвали. Вариант «В текущую задачу» публикует сообщение в основной ленте той же задачи и закрывает исходное обсуждение; набранный в поле ленты текст и выбранные адресаты при этом сохраняются. Пересылка из обсуждения в другую задачу или чат работает как обычно: сообщение попадает в общую ленту приёмника либо в открытое в нём обсуждение.

Обсуждение в приёмнике. Отдельного списка обсуждений в окне выбора цели нет. Если в задаче-приёмнике открыто обсуждение, пересланное сообщение и сопроводительный текст к нему публикуются в этом обсуждении; если открытого обсуждения нет — в общей ленте.

Правило про открытое обсуждение относится к задаче-приёмнику: обсуждение, из которого вызвано меню пересылки, приёмником не считается.

Массовая обработка

Режим выбора активируется через пункт Выбрать в контекстном меню — у сообщений появляются чекбоксы.

Режим выбора сообщений с чекбоксами

Отмеченные сообщения можно переслать или удалить через контекстное меню; выход — пунктом «Отмена».

При пересылке нескольких отмеченных сообщений они публикуются в целевом чате в хронологическом порядке (по времени исходных сообщений) — независимо от того, в каком порядке вы их отметили.

Контекстное меню в режиме выбора: Переслать / Удалить / Отмена

Реакции и пересылка комментариев

Реакция — emoji-отметка на комментарии другого пользователя. Доступность определяется настройкой категории «Разрешить пользовательские реакции».

Установка и удаление

В контекстном меню сообщения (по ПКМ) в верхней части — короткий список реакций. Стрелка вниз раскрывает полное меню; если реакции уже использовались, в начале списка отображаются недавно использованные.

Правила:

  • Один пользователь — одна реакция на сообщение. Повторное нажатие на ту же реакцию убирает её.
  • При установке реакции на новое сообщение оно автоматически отмечается прочитанным.
  • При пересылке комментария реакции исходного сообщения не копируются.
  • Реакции не влияют на видимость комментариев.

Отображение

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

При наведении на реакцию появляется всплывающее окно со списком пользователей. Клик по нему открывает модальное окно «Все реакции» — там можно переключаться между разными реакциями и видеть авторов каждой; иконка профиля рядом с пользователем открывает его карточку.

Кнопка emoji в поле ввода

Если в категории включены реакции, в панели написания сообщения появляется кнопка emoji. Меню вставляет символ в текущую позицию курсора и не закрывается автоматически — можно вставить несколько эмодзи подряд. Кнопка доступна только на десктопе.

Вид реакций может отличаться в зависимости от устройства.

Пересылка комментариев

При пересылке в другую задачу файлы из исходного комментария копируются в целевую задачу. В целевой задаче создаётся новый комментарий с вложенным оригиналом.

Удаление комментариев

Условие Разрешено
Своё сообщение Автору — если в категории не включён запрет удаления пользовательских комментариев
Чужое сообщение вне обсуждения Администратору категории и участнику с правом изменять задачи в категории
Системное сообщение Нет — служебные записи ленты удаляются только системой
Обсуждение целиком Автору — пока в нём нет ответов других участников; владельцу, администратору и модератору чата — любое; администратору категории — любое

Отказ при удалении обсуждения. Если удалить нельзя хотя бы одно сообщение внутри обсуждения, операция отклоняется целиком: обсуждение и все его сообщения остаются на месте, частично удалённого обсуждения не остаётся. Права проверяются по всем сообщениям до того, как что-либо будет удалено. В сообщении об отказе назван номер комментария, на котором проверка остановилась, — это чужой ответ внутри обсуждения, а не само обсуждение, поэтому по номеру не всегда сразу видно, о каком сообщении речь.

Запрет удаления пользовательских комментариев, включённый в категории, закрывает удаление любого пользовательского сообщения — и своего, и чужого.

Отмена удаления смарт-пакетом. Если в категории на событии «Перед удалением комментария» настроено действие «Отменить» с текстом причины, комментарий остаётся в ленте, а удаляющий видит окно с этим текстом — заголовок «SmartCancel», кнопки «Ок» и «Копировать». Кнопки «Создать задачу в техподдержку» в таком окне нет: отмена задумана администратором и ошибкой системы не считается. Правило действует на всех поверхностях удаления — в карточке задачи и в лентах.

Что происходит с вложениями при удалении сообщения

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

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

Если часть файлов снять не удалось. Файлы обрабатываются по одному, и один отказ не останавливает остальные: система снимает все доступные файлы, а затем показывает список неудавшихся. Само сообщение при этом остаётся в ленте — повторить удаление можно после устранения причины. Уже снятые файлы автоматически не возвращаются.

Почему файл может не сняться. Причины те же, что и при обычном удалении файла: файл используется картинкой в тексте другого сообщения, нет права на удаление именно этого файла, отказ смарт-автоматизации, версия подписана ЭЦП, файл уже удалён другим пользователем. Право удалить обсуждение и право снять файл — разные: удаление треда доступно модератору чата и выше, а файл снимет только его владелец, тот, кто вложил последнюю версию, заказчик задачи или администратор категории. Поэтому модератор чата удалит чужое обсуждение, но чужие файлы из него останутся в задаче и попадут в список неудавшихся.

Обновление карточки задачи. После удаления сообщения с файлами счётчик вложений и блок «Документы» в карточке задачи обновляются сразу, без перезагрузки страницы.

Выбор задачи по «#» при наборе сообщения

При наборе сообщения в ленте или в чате знак «#» открывает список задач: с пустым вводом показываются недавние задачи, при вводе — результат поиска. Список управляется с клавиатуры: стрелки двигают выбор, Enter и Tab подставляют задачу, Esc закрывает список и возвращает фокус в поле. Выбранная задача вставляется в текст обычной ссылкой с номером, текущий набранный фрагмент заменяется, а формат ссылки в тексте не меняется. Загрузка, ошибка загрузки и пустой результат показываются разными состояниями списка.