Passamos um tempo significativo nos últimos dois anos na confiabilidade das notificações de chat, Alex.
Quando você abandonou o Chat? @jordan-violet, você ainda está tendo o problema mencionado no OP?
Passamos um tempo significativo nos últimos dois anos na confiabilidade das notificações de chat, Alex.
Quando você abandonou o Chat? @jordan-violet, você ainda está tendo o problema mencionado no OP?
Obrigado pelos seus esforços, Sam. Pessoalmente, as notificações funcionaram na maior parte do tempo, mas ocasionalmente paravam de funcionar e exigiam a atualização da página do Discourse para que voltassem a funcionar - mas historicamente nunca funcionaram, ou funcionaram esporadicamente, e definitivamente têm o hábito de serem desativadas completamente nas atualizações do Discourse.
Paramos de usar o chat esta semana após adotá-lo no início de 2023. As notificações no Google Chat simplesmente funcionaram para toda a equipe, incluindo aqueles com quem tivemos problemas regulares ou que nunca conseguimos fazer funcionar.
Olá @lindsey, estamos enfrentando o mesmo problema. Você tem alguma atualização do seu lado sobre o status e uma possível correção?
Olá Micha,
Você pode tentar fazer um relatório mais detalhado de quando não estiver recebendo as notificações, por favor? Há muitos casos (iOS, Android, PWA, Discourse Hub, desktop Safari, Chrome, Firefox, que tipo de notificação: canal público? DM? thread? todas? você estava navegando quando deveria ter recebido?..)
Comecei a dar uma olhada neste código, mas sinto que um grande problema está em torno das “expectativas”
Existe uma grande família do que eu consideraria problemas conhecidos que podemos melhorar.
push notification time window (janela de tempo de notificação push). Isso causou: @menção, eu visito o aplicativo em 60 segundos. Nenhuma @menção.Para ser honesto @lindsey / @j.jaffeux / @pmusaraj, sinto que “tornar público” provavelmente resultaria na remoção da grande maioria dos problemas que as pessoas têm e das reclamações que vimos ao longo dos anos em relação às notificações de chat.
update_message.rb que está publicando uma mensagem dentro de uma transação. (em ambientes com múltiplas threads isso pode ser perdido)hostname-chat-mention-general… isso não é ideal para menções, pois colapsamos por canal e isso pode ser confuso se 4 pessoas diferentes mencionaram você em momentos diferentes no canal.Basicamente, remover muita da lógica de “ops, não deveríamos ter notificado você” por padrão.
Desligado completamente na atualização do Discourse, para auto-hospedados pode definitivamente ser devido a problemas de conectividade com o gateway de push. Talvez as atualizações em alguns servidores levem dias, talvez seja uma intranet por 24 horas por algum motivo.
Código relevante (via Gemini 3 pro)
A lógica que encerra as inscrições após 3 falhas em 24 horas está localizada no método handle_generic_error.
A lógica que verifica se um usuário está online (“debounce”) e pula a notificação push está centralmente localizada aqui. Isso depende de SiteSetting.push_notification_time_window_mins.
O serviço UpdateMessage envolve a etapa de publish dentro de uma transação de banco de dados. Isso pode causar condições de corrida onde o trabalho de notificação tenta ler a mensagem antes que a transação seja confirmada.
O código filtra explicitamente por following: true ao processar menções para canais públicos, impedindo notificações para usuários que não seguem o canal.
A lógica de geração de tags que desduplica notificações por canal (colapsando-as) é definida aqui:
Isso já é algo que fizemos muito nos últimos anos, removi grande parte do código “inteligente”, que é sempre difícil de acompanhar e propenso a questionamentos. Mas sim, ainda existem vários caminhos de código.
Fluxograma de notificação do Slack infame obrigatório:

É por isso que pedi mais detalhes acima, existem muitas situações…
Eu adoraria ver o “ficar no modo barulhento” como uma predefinição em todo o sistema.
“Desculpe, só estou vendo esta mensagem agora — as notificações push não funcionaram de novo. Quero meu Slack/Whatsapp/Signal/XYZ de volta”
Este é, de longe, o maior problema que estamos enfrentando com a nossa adoção do Discourse como uma intranet social corporativa.