ether / etherpad-lite

Etherpad: A modern really-real-time collaborative document editor.
http://docs.etherpad.org/
Apache License 2.0
16.6k stars 2.85k forks source link

re-enable websockets #686

Closed risacher closed 12 years ago

risacher commented 12 years ago

Use of websockets was disabled sometime in 2011 by this code in node/server.js:

    //this is only a workaround to ensure it works with all browers behind a proxy                                                                              
    //we should remove this when the new socket.io version is more stable       
    io.set('transports', ['xhr-polling']);                                    

I've been testing with socket.io version 0.9.2 and the io.set line commented out and seems stable to me.

JohnMcLear commented 12 years ago

It would be awesome if websockets are stable now, What browsers did you test in, what versions of those browsers? Did you test mobile?

-----Original Message----- From: Daniel Risacher [mailto:reply@reply.github.com] Sent: 30 April 2012 18:37 To: John McLear Subject: [etherpad-lite] re-enable websockets (#686)

Use of websockets was disabled sometime in 2011 by this code in node/server.js:

    //this is only a workaround to ensure it works with all browers behind a proxy
    //we should remove this when the new socket.io version is more stable
    io.set('transports', ['xhr-polling']);

I've been testing with socket.io version 0.9.2 and the io.set line commented out and seems stable to me.


Reply to this email directly or view it on GitHub: https://github.com/Pita/etherpad-lite/issues/686 This email and its attachments may be confidential and are intended solely for the use of the individual to whom it is addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent those of the organisation from which this email originated. If you are not the intended recipient of this email and its attachments, you must take no action based upon them, nor must you copy or show them to anyone. Please contact the sender if you believe you have received this email in error. This email was sent by School Email - Safe Webmail and Hosted Email for Schools

risacher commented 12 years ago

Grrr. Nevermind. I testing Firefox 11 with a proxy that allows websockets and IE7 with a proxy that doesn't. Both of those cases seemed okay. Alas, when I tried Firefox with a proxy that does NOT allow websockets, it took 4-5 seconds to fall back to XHR, which I concede is too long. I will spend a few cycles trying to understand this, but it is likely to be more deeper than I care to dig.

But it's really snappy when it works.

JohnMcLear commented 12 years ago

Yep... Welcome to our world in 2010.. Feels like some things never change ;) Good luck with your diging!

-----Original Message----- From: Daniel Risacher [mailto:reply@reply.github.com] Sent: 30 April 2012 22:01 To: John McLear Subject: Re: [etherpad-lite] re-enable websockets (#686)

Grrr. Nevermind. I testing Firefox 11 with a proxy that allows websockets and IE7 with a proxy that doesn't. Both of those cases seemed okay. Alas, when I tried Firefox with a proxy that does NOT allow websockets, it took 4-5 seconds to fall back to XHR, which I concede is too long. I will spend a few cycles trying to understand this, but it is likely to be more deeper than I care to dig.

But it's really snappy when it works.


Reply to this email directly or view it on GitHub: https://github.com/Pita/etherpad-lite/issues/686#issuecomment-5427615 This email and its attachments may be confidential and are intended solely for the use of the individual to whom it is addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent those of the organisation from which this email originated. If you are not the intended recipient of this email and its attachments, you must take no action based upon them, nor must you copy or show them to anyone. Please contact the sender if you believe you have received this email in error. This email was sent by School Email - Safe Webmail and Hosted Email for Schools

0ip commented 12 years ago

Nevertheless we can update socket.io or?

JohnMcLear commented 12 years ago

Have a go, I don't see any reason why not :)

risacher commented 12 years ago

For future reference, where I work we use a "WebWasher" proxy (now MacAfee Web Gateway). If I set up Firefox to go through the proxy, for some reason when socket.io tries to upgrade to websocket, it's getting back a response of "302 Found" with no content (according to firebug). If I don't go through that proxy, then it gets a response "101 Switching Protocols" for that same request in the process. Either way is over https, so I'm not sure how the proxy is able to munge the response, but that's what Firebug shows. A potential fix to socket.io would be to fail quickly on a "302 Found" response, so that it can fall back to xhr or whatever.

luto commented 11 years ago

Websockets are still completely disabled in the default settings.json, I've very briefly tested them in FF and Chrome and it seems to work nice. Is there a reason for them still being disabled?

JohnMcLear commented 11 years ago

Slow initial connection in IE or was it slow initial connection through NATs / reverse proxy? There should be documentation somewhere :)

guyzmo commented 11 years ago

maybe it would be possible to add websocket support at the end of the settings.json defaults? As it looks like it is the fallback from Websocket to XHR that is pretty slow, and all other methods are prefered