Skip to main content

Внутренний Чат

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

image.png

1. Системные требования и права доступа

  • vsDesk: актуальная версия системы, обновленная штатным механизмом обновления.
  • Роли доступа:
  • Доступ к просмотру чата (readChat) — доступ к разделу «Чат».
  • Администрирование чата (adminChat) — доступ к разделу управления сервисом чата.

2. Включение и первичная проверка через GUI

  1. Проверьте, что пользователям выданы роли: «Доступ к просмотру чата» и «Администрирование чата».
  2. Откройте раздел /chat под пользователем с ролью «Доступ к просмотру чата» и убедитесь, что интерфейс чата загружается.
  3. Для проверки real-time откройте /chat/admin под пользователем с ролью «Администрирование чата» и проверьте, что статус сервиса отображается корректно.

3. Настройка Mercure (real-time обновления)

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

3.1 Linux (Ubuntu, RedOS, Astra)

  • При штатной установке vsDesk сервис Mercure устанавливается в /opt/mercure.
  • Системный сервис: mercure (systemd).
  • При открытии страницы администрирования чата модуль автоматически пытается проверить и запустить сервис.

3.2 Windows

  • При первом открытии страницы администрирования чата Mercure автоматически скачивается и запускается.
  • Для пользователя достаточно открыть /chat/admin и дождаться статуса «Работает».

4. Разделы и маршруты

Основная страница чата.

image.png

Управление сервисом Mercure (для роли «Администрирование чата»).

image.png

5. Пользовательский функционал

5.1 Диалоги и контакты

  • Вкладка «Чаты» — список диалогов и каналов.
  • Вкладка «Контакты» — запуск личного диалога с выбранным сотрудником.

image.pngimage.png

5.2 Отправка и работа с сообщениями

  • Отправка сообщения — поле ввода + Enter.
  • Контекстные действия: копировать, переслать, ответить.
  • Для собственных сообщений доступны дополнительные действия: редактировать и удалить.

image.png

image.png

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

  • Действие «Переслать» открывает окно выбора целевого диалога.
  • После подтверждения создается копия сообщения в выбранном чате.

5.4 Упоминания и быстрые ссылки

  • @ — поиск пользователя и вставка упоминания. Упоминание пользователя в канале автоматически предоставляет доступ сотруднику в канал.
  • # — поиск заявки и вставка ссылки на заявку.

image.png

image.png

5.5 Каналы

  • Создание канала доступно пользователю с ролью «Администрирование чата».
  • Кнопка создания находится в блоке «Каналы».

6. Администрирование сервиса чата (Mercure)

В разделе /chat/admin доступны:

  • Статус сервиса и кнопка «Обновить».
  • Управление сервисом: «Запустить», «Остановить», «Перезапустить».
  • Просмотр логов сервиса (если доступен в окружении).
  • Базовая метрика доступности.

7. Действия после обновления vsDesk (обязательно)

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

7.1 Обязательный порядок действий (Linux)

  1. Выполните скрипт восстановления/проверки сервиса Mercure:
    sudo bash /var/www/vsdesk/lib/ensure_mercure_service.sh www-data

    Скрипт включает автозапуск сервиса и запускает Mercure без переустановки бинарников.
  2. Убедитесь, что сервис активен:
    sudo systemctl status mercure
  3. Откройте в браузере раздел администрирования:
    /chat/admin

    Проверьте статус, при необходимости нажмите «Перезапустить».
  4. Проверьте работу чата под пользователем с ролью «Доступ к просмотру чата»:
    /chat

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

7.2 Обязательный порядок действий (Windows)

  1. Откройте /chat/admin под пользователем с ролью «Администрирование чата».
  2. Дождитесь автоматической инициализации/запуска Mercure (если требуется).
  3. Нажмите «Обновить» и убедитесь, что статус сервиса — «Работает».
  4. Проверьте обмен сообщениями в /chat между двумя пользователями.

7.3 Минимальный чек-лист после обновления

  • Роли доступа пользователей сохранены корректно.
  • Mercure-сервис запущен и доступен.
  • Страница /chat/admin показывает рабочий статус.
  • Сообщения в /chat доставляются в real-time.

8. Базовая диагностика

  • 403 при входе в чат: проверьте роль «Доступ к просмотру чата».
  • Нет кнопок управления сервисом: проверьте у пользователя роль «Администрирование чата».
  • Сообщения появляются не мгновенно: проверьте статус сервиса на странице /chat/admin.
  • Не создается канал: проверьте у пользователя роль «Администрирование чата».