Уведомления группируются при наличии более одного ответа в одном и том же посте

Мы используем API уведомлений Discourse и запросы Data Explorer и наблюдаем поведение консолидации/группировки уведомлений для:

  • уведомлений о ответах/комментариях (notification_type = 2)

  • уведомлений о реакциях (notification_type = 25)

Наблюдаемое поведение

  • Даже при наличии всего 2 ответов/комментариев в одной теме/посте в течение короткого промежутка времени уведомления консолидируются/группируются.

  • Отдельные строки уведомлений создаются не всегда для второго действия.

  • Существующие строки уведомлений, по-видимому, обновляются/заменяются вместо вставки новых строк.

  • Более старые строки уведомлений иногда исчезают из таблицы notifications.

  • Уведомления о реакциях также консолидируются аналогичным образом.

  • В интерфейсе могут отображаться сгруппированные счетчики, например «2 ответа», в то время как в базе данных/API отражается только одна строка уведомления.

Мы обнаружили следующие настройки:

  • linked notifications consolidation window mins

  • likes notification consolidation window mins

  • notification_consolidation_threshold

Вопросы

  1. Относятся ли эти настройки только к группировке в интерфейсе, или они также контролируют консолидацию уведомлений на уровне базы данных/API?

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

  3. Существует ли поддерживаемый способ полностью отключить консолидацию уведомлений, чтобы каждый ответ/реакция создавал отдельную запись уведомления?

  4. Предназначена ли таблица notifications для того, чтобы не быть только добавляемой (non-append-only) для связанных уведомлений и уведомлений о реакциях?

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

Мы в основном пытаемся понять предполагаемое поведение системы уведомлений и поддерживаются ли полностью независимые уведомления для каждого действия.