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

Уведомления и индикаторы — Решение проблем

Аудитория: ТП 1-й линии (без доступа к БД)

Как пользоваться этим документом

Секции организованы по типам проблем. Для каждой: 1. Симптом — что описывает клиент 2. Что проверить — шаги диагностики 3. Решение — что сделать 4. Эскалация — когда передавать на 2-ю линию


1. Уведомления не приходят

~35% обращений по теме.

1.1 Не приходят уведомления на email (Outlook / почтовый клиент)

Симптом: «уведомления из 1Ф не приходят в Outlook», «перестали приходить письма-уведомления».

Что проверить: - Пользовательские настройки уведомлений — не отключены ли email-уведомления (Профиль → Уведомления) - Настройки категории — включены ли уведомления (Администрирование → Категории → Уведомления) - Почтовый сервер — работает ли отправка (проверить в логах ошибки SMTP) - Спам-фильтр — не попадают ли письма в спам - Очередь уведомлений — не забита ли

1.2 Напоминание о приближении срока не срабатывает

Симптом: «настроено "Напоминание о приближении срока в день окончания", но уведомления не приходят».

Что проверить: - Настройка в категории — включена ли, какой интервал - Срок задачи — задан ли - Фоновая задача — работает ли OverdueNotificationJob

Эскалация: если настройка есть, сроки заданы, но уведомления не приходят — проверить OverdueNotificationJob.

1.3 Push-уведомления не работают

Симптом: «ошибки push-уведомлений», «push не приходят на мобильное».

Что проверить: - Настройка push — настроен ли Firebase (FCM) / APNs - Порты — открыты ли (FCM требует порты 443, 5228-5230) - Токен устройства — зарегистрировано ли устройство - Логи — текст ошибки

Эскалация: если порты открыты, но push не работает — передать на 2-ю линию.

1.4 Desktop-уведомления не работают для чатов/вопросов

Симптом: «не приходят desktop-уведомления в браузере при новых сообщениях в чате», «не показываются уведомления для вопросов», «в консоли браузера ошибка TypeError при получении уведомлений».

Версии: - ❌ Версии до v2.266 — известная проблема - ✅ Версии v2.266+ — исправлено

Что проверить:

  1. Версия системы (самое важное):
  2. Если версия < 2.266 → рекомендовать обновление
  3. Если версия ≥ 2.266 → искать другие причины

  4. Настройки браузера:

  5. Разрешены ли уведомления для сайта (Settings → Site Settings → Notifications)
  6. В Chrome: иконка замка в адресной строке → Site Settings → Notifications → Allow
  7. В Firefox: иконка замка → Permissions → Receive Notifications → Allow

  8. HTTPS-соединение:

  9. Desktop-уведомления работают только по HTTPS
  10. Проверить в адресной строке наличие замка 🔒

  11. Консоль браузера (F12 → Console):

  12. Нет ли JavaScript-ошибок при получении уведомлений
  13. Ошибка TypeError: Cannot spread non-iterable value = версия < 2.266

  14. Настройки пользователя:

  15. Профиль → Уведомления → "Уведомления рабочего стола" — включены ли

Известные проблемы (до v2.266): - TypeError при обработке событий newComment если recipients/copyRecipients = null - Некорректные значения enum в БД (SendPushForChats = 2) - Desktop-уведомления не показывались для сообщений чатов и вопросов

Решение:

Для версий < 2.266: 1. Рекомендовать обновление до версии 2.266+ (критичное исправление) 2. Временное решение: обновить страницу после каждого сообщения

Для версий ≥ 2.266: 1. Проверить настройки браузера (разрешения на уведомления) 2. Проверить HTTPS-соединение 3. Проверить настройки пользователя в профиле 4. Попросить пользователя кликнуть "Разрешить" при запросе браузера

Как протестировать:

1. Открыть консоль браузера (F12)
2. Выполнить: Notification.permission
   - "granted" = разрешено ✅
   - "denied" = запрещено ❌
   - "default" = не запрошено ⚠️
3. Тестовое уведомление:
   new Notification("Test", { body: "Работает!" })

Эскалация: - Версия < 2.266 и нельзя обновить — эскалация на 2-ю линию - Версия ≥ 2.266, но уведомления всё равно не работают — проверить настройки nginx/reverse proxy (WebSocket)


2. Некорректные уведомления

2.1 Лишние уведомления

Симптом: «приходит лишнее уведомление при ответе на вопрос».

Что проверить: - Настройки уведомлений — какие типы включены - Тип события — ответ на вопрос может генерировать уведомление и автору, и получателю

2.2 Настройки systemrobot меняют настройки по умолчанию

Симптом: «изменение настроек уведомлений у systemrobot приводит к изменению настроек по умолчанию для всех».

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

Эскалация: если изменение systemrobot меняет настройки существующих пользователей — баг.


3. Фоновые задачи уведомлений

3.1 OverdueNotificationJob падает

Симптом: «OverdueNotificationJob не выполняется», «ошибка в джобе уведомлений о просрочке». [2L]

Эскалация: серверная проблема — передать на 2-ю линию с текстом ошибки из лога.


4. SignalR — real-time обновления

4.1 Данные не обновляются в реальном времени

Симптом: «в БИ не обновляется информация при создании задач», «данные подтягиваются только после обновления страницы».

Что проверить: - SignalR-соединение — индикатор в нижнем правом углу (зелёный = подключён) - Reverse proxy — пропускает ли WebSocket-соединения - Браузер — поддерживает ли WebSocket - Обновить страницу — восстанавливается ли соединение

Эскалация: если SignalR стабильно не подключается — проблема инфраструктуры (nginx/IIS настройки WebSocket).


5. Справочные вопросы

5.1 Где хранятся уведомления в БД

Симптом: «в какой таблице хранятся данные об уведомлениях?»

Решение: уведомления хранятся в таблице dbo.Notifications (основная) и связанных таблицах. Настройки пользователей — dbo.UserNotificationSettings. Подробнее — в notifications/backend.md. [2L]


6. Повторения (Recurrence) — уведомления и расписания

~40% обращений за февраль-март 2026. Кластер из 5 задач — нарастающий тренд.

6.1 Ошибки при создании и переносе повторений

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

Что проверить: - Настройки повторений в категории — заданы ли, совместимы ли с целевой категорией при переносе - Повторение уже существует — попытка создать дубль может вызывать ошибку - Логи — текст ошибки при создании

Эскалация: если ошибка воспроизводится стабильно — баг, передать на 2-ю линию с шагами воспроизведения.

6.2 Смарт-расписания: баги UI и подстановки времени

Симптом: «не подставляется время из смарт-выражения "Дата окончания"», «странно ведёт себя выбор времени в установке повторения», «при отклонении повторения пресеты становятся некликабельными».

Что проверить: - Версия системы — проблемы фронта могут быть версионными - Тип смарт-выражения — какое именно используется - Браузер — воспроизводится ли в другом браузере - Шаги воспроизведения — точная последовательность (создать повторение → отклонить → попробовать снова)

Эскалация: UI-баги фронта — передать на 2-ю линию со скриншотами и шагами воспроизведения.


7. Автоматическое заполнение полей (робот/SmartScript)

7.1 Робот не заполняет исполнителя автоматически

Симптом: «робот не заполняет исполнителя автоматически при создании задачи».

Что проверить: - Настройка SmartScript/робота — привязан ли к категории, на какое событие срабатывает - Условия срабатывания — выполняются ли (тип задачи, состояние, значения ДП) - Логи SmartScript — есть ли ошибки выполнения - Права робота — имеет ли робот права на изменение поля «Исполнитель»

Эскалация: если SmartScript настроен корректно, но не срабатывает — передать на 2-ю линию с ID категории и названием скрипта.


8. Счётчики категорий

8.1 Проблемы с уведомлениями счётчиков

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

Что проверить: - SignalR-соединение — счётчики обновляются через SignalR (см. секцию 4.1) - Настройки категории — включены ли счётчики - Кеш — попробовать очистить кеш браузера и обновить страницу - Один пользователь или все — если все, проблема серверная

Связанные документы: runbook-tickers-counters.md — детальный рунбук по счётчикам.

Эскалация: если счётчики стабильно некорректны после обновления страницы — передать на 2-ю линию.


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

  1. Тип проблемы — не приходят, лишние, push, desktop, SignalR, фоновые задачи, повторения, счётчики, автозаполнение
  2. Канал уведомления — email, push (mobile), desktop (браузер), SignalR
  3. Один пользователь или все
  4. Версия системы (критично для desktop-уведомлений: < 2.266 = известная проблема; для повторений — UI-баги могут быть версионными)
  5. Текст ошибки из лога или консоли браузера (для desktop)
  6. Настройки — пользовательские и категории
  7. Для desktop: разрешения браузера, HTTPS, консоль (F12)
  8. Для повторений: какое смарт-выражение, шаги воспроизведения, скриншоты

Когда эскалировать

  • OverdueNotificationJob падает (серверная проблема)
  • Push не работает при открытых портах
  • Настройки systemrobot меняют настройки существующих пользователей (баг)
  • SignalR стабильно не подключается (инфраструктура)
  • Desktop-уведомления не работают на версии < 2.266 и нельзя обновить (критичный баг)
  • Повторения: ошибка создания/переноса воспроизводится стабильно (баг)
  • Повторения: UI пресетов/смарт-расписаний сломан (фронт-баг)
  • SmartScript/робот не срабатывает при корректной настройке
  • Счётчики категорий стабильно некорректны после обновления страницы