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

Open
epeli opened this Issue Nov 12, 2012 · 5 comments

Comments

Projects
None yet
4 participants

epeli commented Nov 12, 2012

http://news.ycombinator.com/item?id=4552072

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:
https://github.com/epeli/sharejs-ipad

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.

Owner

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.

http://caniuse.com/#search=websocket

epeli commented Nov 13, 2012

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

Contributor

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.

Contributor

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