Basicamente, o plugin de chat não leva em consideração se a aba do navegador está atualmente focada/ativa.
Impacto
Notificações perdidas e contagem de não lidas faltando na barra de título.
Passos para reproduzir
Testado no Firefox na versão mais recente 3.5.0.beta2-dev
Usuário A + B está logado no Discourse e trocando mensagens diretas usando o plugin de chat.
O Usuário A tem o chat aberto, mas em outra aba.
O Usuário B envia uma mensagem para o Usuário A.
A aba do Usuário A mostra brevemente “(1)” para indicar a nova mensagem, mas a oculta rapidamente um segundo depois.
O Usuário A não recebe uma notificação de desktop.
Observação: Se o Usuário A não tiver a janela de chat aberta, mas ainda estiver no Discourse, o (1) na barra de título permanece corretamente e uma notificação do sistema é exibida.
Comportamento esperado
Se a aba não estiver visível/focada (seja porque é a aba nº 29 ou está oculta atrás de várias outras janelas), como usuário, quero receber uma notificação.
Para o Usuário A, a aba focada do navegador é outra coisa (ex: google). Dentro da aba do Discourse, que não está focada no navegador, o chat está aberto.
Tenho 90% de certeza que vi isso em ambos os cenários, mas terei que voltar e testar novamente para saber ao certo qual deles (respondendo agora para que eu possa compartilhar as outras informações pelo menos imediatamente)
A notificação de desktop é a notificação push que vem através do sistema operacional.
Atualização, confirmei que ocorre tanto no modo de tela cheia quanto no modo de gaveta.
O comportamento também é diferente no Chrome – ele mostra um (3) que então desce para (2).
Além disso, em ambos os navegadores, às vezes simplesmente não funciona por 30 segundos (até a próxima solicitação de poll, de acordo com o depurador de rede). Mas talvez essa parte seja apenas um problema de conexão com a internet.
Gravei um vídeo demonstrando o problema, em anexo: