[x] Implement Stub Hub (heh), Stub Socket on server
[x] Hub grows its main loop of register, unregister, and gameId/version message. Hub keeps a map of gameIds to map to socket handles
[x] Socket implements a ws upgrader and the readPump and writePump
[x] actually send messages to notifier when the game changes
[x] boardgame-state-manager connects with a web socket and wires that in instead
[x] Figure out a way for games to get notified when a move happens (when timer fires they don't, and when agents move they don't)
[x] actually check origin for websocket is in AllowedOrigins
[x] get rid of the move-handler stuff in boardgame-game-view
[x] make sure that on the server socket registration / unregistration is bullet proof
[x] Get rid of the polling version of status (?) server handler
[x] reconnect from client if socket closes
[ ] make sure secure web sockets work in production (with SSL in particular)
[x] On connection, server should always pump through version, in case the connection goes down and when it's reestablisehd they missed the version bump
[x] there's a double send every so often (maybe if you refresh the page? or agents/timers move?)
[ ] backoff logic if server is down
[x] wire up socketActive to whether the socket actually is active
[ ] the loading spinner should fade in and out opacity
Instead of the polling:
http://blog.u2i.com/we-made-a-multiplayer-browser-game-in-go-for-fun/?utm_source=golangweekly&utm_medium=email