Skip to content
This repository has been archived by the owner on Aug 18, 2019. It is now read-only.

Dédoublement de la liste des utilisateurs connectés #18

Closed
hardware opened this issue Dec 6, 2015 · 6 comments
Closed

Dédoublement de la liste des utilisateurs connectés #18

hardware opened this issue Dec 6, 2015 · 6 comments

Comments

@hardware
Copy link
Member

hardware commented Dec 6, 2015

Parfois la liste des utilisateurs connectés apparaît en double (voir plus). Je pense que ça vient du fait que le listener sur l'événement user_connected est enregistré une deuxième fois pour une raison que je ne maîtrise pas (problème réseau, déco/reco du chat suite à un push...etc).

socket.on('user_connected', function(user) {
    vm.list.push(new users.User(user));
    m.redraw();
});

Je viens d'en avoir un à l'instant :

screen
screen

2015-12-06T09:42:39 heroku router - - at=error code=H13 desc="Connection closed without response" method=GET path="/socket.io/?EIO=3&transport=websocket&sid=3bKAS4OKWTP1aYl5AABP" host=chat.mondedie.fr wd="88.xxx.xxx.xxx" dyno=web.1 connect=0ms service=1ms status=503 bytes=0

Moimeme semble avoir eu un petit soucis réseau, le socket semble avoir été ouvert 4 fois à la suite, peut-être que ça peut expliquer que l'event soit registered 4 fois aussi, je sais pas quoi en déduire. A méditer.

@hardware
Copy link
Member Author

hardware commented Dec 6, 2015

En espérant que ça fonctionne.

Sinon @soyuka, tu connais pas un petit trick en javascript pour enregistrer un event listener qu'une et une seule fois ? Attention je parle pas d'un one time event via once mais bien d'un événement qui peut se produire plusieurs fois dans le temps mais qui ne peut être enregistrer par le navigateur qu'une seule fois.

Normalement avec la condition :

if($('#clients li').length <= 0) { }

L'événement ne peut pas être enregistré plus d'une fois mais il existe peut-être quelque chose de plus propre, à voir.

@hardware
Copy link
Member Author

hardware commented Dec 6, 2015

Normalement le problème est corrigé je pense, je laisse ouvert quelques temps, ne pas hésiter à ajouter un commentaire si le bug se reproduit.

@soyuka
Copy link

soyuka commented Dec 16, 2015

:D

@hardware hardware reopened this Jan 29, 2016
@hardware
Copy link
Member Author

Bug toujours présent...

hardware added a commit that referenced this issue Feb 6, 2016
No reuse an existing Manager for subsequent calls (which causes a lot of
connection issues actually) See : http://socket.io/docs/client-api/ &
http://socket.io/blog/socket-io-1-2-0/

+ update dependencies with tilde ranges (tilde ranges = minor version + patch-level)
@hardware
Copy link
Member Author

hardware commented Feb 6, 2016

Bon en espérant que ça va résoudre le soucis, parce que sinon à part revoir complètement le système actuel, je vois pas comment faire.

socketio/socket.io-client#251
https://tornadio2.readthedocs.org/en/latest/bugs/#connect-after-disconnect

http://stackoverflow.com/a/18943999
http://stackoverflow.com/a/7504015
http://stackoverflow.com/a/24574372

@Wonderfall
Copy link

Malheureusement, je viens d'avoir ce problème.
https://pix.schrodinger.io/sglXAg32/7sl2OngK.png

Cependant, on peut dire qu'il intervient plus rarement qu'avant.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants