Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

ShareJS is broken on iOS 6 Safari - The long polling bug #142

epeli opened this Issue Nov 12, 2012 · 5 comments


None yet
4 participants

epeli commented Nov 12, 2012


It appears that long polling is broken on iOS 6 and since browserchannel uses only long polling it means that ShareJS is broken on iOS6 too.

Here's an interesting example where ShareJS blocks image downloads on iOS6:

Any workarounds for now?

It seems that ShareJS has some code for SockJS and Socket.IO support, but could not find any documentation on how to use them.

For example Socket.IO with Websocket only transport might fix this issue.


josephg commented Nov 12, 2012

Socket.IO + ShareJS is a bad idea. SocketIO tries to make connections persistant, which is incompatible with ShareJS's connection code.

But websockets are supported in iOS now. Adding SocketIO support for websocket support sounds categorically worse than just pulling in ws or something and adding websocket support directly.


epeli commented Nov 13, 2012

How about SockJS? It does seems to work with iOS 6 using the default settings.


obijywk commented Nov 14, 2012

I'd be very interested in native websocket support in the client (and require('ws') on the server). I'm having issues with both the browserchannel and SockJS implementations:

  • browserchannel isn't working for more than 5 connections from the same browser (in different tabs), not sure why
  • SockJS doesn't have a good node.js client implementation (https://github.com/sockjs/sockjs-client-node only supports XHR streaming, not websocket), and the sharejs SockJS client is a little buggy

I'm already using websockets for other purposes in my app so using just one method would be nice too.

markreg commented Mar 14, 2013

I agree with obijywk. It would be much better to be able to use just one method especially if our app is already using socket.io for the majority of other things.


obijywk commented Mar 14, 2013

native websocket support was added in e973502

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment