O plugin de chat não entende o foco na aba

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

  1. Usuário A + B está logado no Discourse e trocando mensagens diretas usando o plugin de chat.
  2. O Usuário A tem o chat aberto, mas em outra aba.
  3. O Usuário B envia uma mensagem para o Usuário A.
  4. A aba do Usuário A mostra brevemente “(1)” para indicar a nova mensagem, mas a oculta rapidamente um segundo depois.
  5. 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.


Obrigado!

2 curtidas

Olá, obrigado pelo relatório.

Tenho algumas perguntas que ajudarão na depuração.

  • Nessa situação, o Discourse está aberto na aba que está em foco (sem o chat aberto)?

  • Você está usando o chat em tela cheia ou o modo gaveta?

A notificação na área de trabalho, neste caso, é o selo verde no ícone de chat? Ou algo mais?

1 curtida

Sem problema:

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.

1 curtida

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:

  • 0:08 Problema de recebimento no Firefox
  • 0:32 Problema de recebimento no Chrome
  • 0:50 Problema de atualização lenta