Ensure that Python scripts can communicate with a socket.io server.
Add binary support.
Roy Hyunjin Han
The ability to send and receive binary data from a socket.io server seems to be important to many users.
20170727-1130 - 20170803-1130: 1 week estimated
Fix socketIO-client so that it works with firstname.lastname@example.org without errors. Add binary support to socketIO-client.
20170727-1130 - 20170727-1200: 30 minutes
+ Draft mission for binary support + Move missions from GitHub into CrossCompute
20170727-1245 - 20170727-1315: 30 minutes
Before I start working through the pull requests and issues, we should make sure that socketIO-client works with the latest socket.io. I think I should also add other people as maintainers so that I don't bear the sole burden of maintaining this package.
The latest version of socket.io is 2.0.3.
+ Install latest version of socket.io + Install latest version of socketIO-client + Remove usage of invisibleroads-macros
20170727-1645 - 20170727-1715: 30 minutes
20170731-1200 - 20170731-1300: 60 minutes
We're going to experiment with using CrossCompute to develop this open source package.
I think the first step is to just check that it works with the current version of socket.io. I know it is not going to work and I saw some issues and pull requests related to it.
0.9.18 0.9.19 # npm install -g socket.io@0 1.7.1 1.7.2 1.7.3 1.7.4 # npm install -g socket.io@1 2.0.0 2.0.1 2.0.2 2.0.3 # npm install -g socket.io@2 + List the socket.io releases + Put each contributor on a separate line + Update README
20170731-1430 - 20170731-1445: 15 minutes
+ Use websockets._ssl_compat.SSLError + Work through relevant changes from 0.5.7.2 to 0.5.7.3 and port to 0.8.0
I think that the 0.8.0 series should be compatible with socket.io@1 and the 1.0.0 series should be compatible with socket.io@2. In particular, perhaps 0.9.0 should be the version that includes binary support.
+ Install socket.io@1 + Run tests for 0.8.0
The tests pass for socket.io@1. Just in case, we should also work through the README steps manually. After that, we will work on all the issues except binary support. Then we will do binary support for 0.9.0. And we will support socket.io@2 for 1.0.0. That is the plan.
But this mission is specifically for binary support. Perhaps we can focus on binary support first, then work on other issues. The problem is that there are too many branches to manage at once now.
Try to use socketIO-client manually using steps from README Fix socketIO-client so that it works with latest socket.io Use invisibleroads_macros.url.format_url Add binary support https://github.com/invisibleroads/socketIO-client/pull/85 https://github.com/invisibleroads/socketIO-client/issues/70 https://github.com/invisibleroads/socketIO-client/issues/71 https://github.com/invisibleroads/socketIO-client/issues/91 Replace *args with args Investigate whether it is really true that callbacks can't take dictionaries https://github.com/invisibleroads/socketIO-client/pull/112 Check python3 support for socketIO-client 0.5.6 https://github.com/invisibleroads/socketIO-client/issues/83 Check why connected=True after termination https://github.com/invisibleroads/socketIO-client/issues/80 https://github.com/invisibleroads/socketIO-client/issues/98 Consider catching heartbeat thread exception https://github.com/invisibleroads/socketIO-client/issues/100 Check disconnection issues https://github.com/invisibleroads/socketIO-client/issues/107 https://github.com/invisibleroads/socketIO-client/issues/111 Check why transports are not being set https://github.com/invisibleroads/socketIO-client/issues/102 Look at 404 not found error https://github.com/invisibleroads/socketIO-client/issues/101 Check whether it works on Windows 8 https://github.com/invisibleroads/socketIO-client/issues/97 Consider allowing milliseconds https://github.com/invisibleroads/socketIO-client/issues/106 Consider using attrs instead of namedtuple Release 0.8.0 Add other people as maintainers of this package