Estamos utilizando as APIs de notificações do Discourse e consultas do Data Explorer, e observamos um comportamento de consolidação/agrupamento de notificações para:
-
notificações de resposta/comentário (
notification_type = 2) -
notificações de reação (
notification_type = 25)
Comportamento Observado
-
Mesmo com apenas 2 respostas/comentários no mesmo tópico/post em um curto período, as notificações estão sendo consolidadas/agrupadas.
-
Linhas de notificação separadas nem sempre são criadas para a segunda ação.
-
Linhas de notificação existentes parecem ser atualizadas/substituídas em vez de novas linhas serem inseridas.
-
Linhas de notificação mais antigas às vezes desaparecem da tabela
notifications. -
Notificações de reação também parecem ser consolidadas de forma semelhante.
-
A interface pode mostrar contagens agrupadas como “2 respostas”, enquanto o banco de dados/API reflete apenas uma única linha de notificação.
Encontramos as seguintes configurações:
-
linked notifications consolidation window mins -
likes notification consolidation window mins -
notification_consolidation_threshold
Perguntas
-
Essas configurações estão relacionadas apenas ao agrupamento na interface ou também controlam a consolidação de notificações no nível do banco de dados/API?
-
Como as notificações estão sendo consolidadas mesmo com apenas 2 ações, o Discourse reutiliza/atualiza internamente linhas de notificação existentes antes que o limite de consolidação seja atingido?
-
Existe alguma maneira suportada de desativar completamente a consolidação de notificações, para que cada resposta ou reação crie um registro de notificação separado?
-
A tabela
notificationsfoi intencionalmente projetada para não ser apenas de adição (non-append-only) para notificações vinculadas ou de reação? -
Para notificações de reação (
notification_type = 25), existe uma maneira confiável e suportada de identificar o usuário que reagiu a partir do payload da notificação ou da API?
Estamos principalmente tentando entender o comportamento pretendido do sistema de notificações e se notificações totalmente independentes por ação são suportadas.