Essentiellement, le plugin de chat ne tient pas compte si l’onglet du navigateur est actuellement focalisé/actif.
Impact
Notifications perdues et nombre de messages non lus manquant dans la barre de titre.
Étapes de reproduction
Testé dans Firefox sur la dernière version 3.5.0.beta2-dev
L’utilisateur A + B est connecté à Discourse et s’envoie des messages privés à l’aide du plugin de chat.
L’utilisateur A a le chat ouvert, mais dans un autre onglet.
L’utilisateur B envoie un message à l’utilisateur A.
L’onglet de l’utilisateur A affiche brièvement “(1)” pour montrer le nouveau message, mais le masque rapidement une seconde plus tard.
L’utilisateur A ne reçoit pas de notification de bureau.
Remarque : Si l’utilisateur A n’a pas la fenêtre de chat ouverte mais est toujours sur Discourse, le “(1)” dans la barre de titre reste correct et une notification système est affichée.
Comportement attendu
Si l’onglet n’est pas visible/focalisé (que ce soit parce qu’il s’agit de l’onglet #29 ou qu’il est caché derrière plusieurs autres fenêtres), en tant qu’utilisateur, je veux recevoir une notification.
Pour l’Utilisateur A, l’onglet du navigateur qui a le focus est autre chose (par ex. google). À l’intérieur de l’onglet Discourse, qui n’a pas le focus du navigateur, le chat est ouvert.
Je suis sûr à 90 % d’avoir vu cela dans les deux scénarios, mais je devrai y retourner et tester à nouveau pour savoir avec certitude lequel (je réponds maintenant pour pouvoir partager les autres informations au moins immédiatement)
La notification de bureau est la notification push qui passe par le système d’exploitation.
Mise à jour, j’ai confirmé que cela se produit en mode plein écran et en mode tiroir.
Le comportement est également différent dans Chrome : il affiche un (3) qui descend ensuite à (2).
De plus, dans les deux navigateurs, cela ne fonctionne parfois pas pendant 30 secondes (jusqu’à la prochaine requête de sondage selon le débogueur réseau). Mais peut-être que cette partie est juste un problème de connexion Internet.
J’ai pris une vidéo démontrant le problème, ci-jointe :