google / google/codeworld

Use something smarter than `Show/Read` for the websockets protocol

Open
#409 2 comments 0 reactions 0 assignees View on GitHub
cleanup
Dominant language
Haskell
Stars
1.3k
Forks
201
PR merge metrics
No merged PRs in 30d

Description

I just tried to use `Data.Serialize` with generic deriving, but am stuck. While `Network.WebSockets` (the server side) has no problems sending binary data (as a `ByteString`) over the wire, the corresponding support in ghcjs, at , seems to be shaky. I might get a `Blob` out, but I do not see how to get a `ByteString` out.

I think I was at this point before, so I record this here.

Either I need to figure out how to work with `ByteString` in GHCJS, or use a different serialization library which targets `Data.Text`.

Contributor guide

Open the contributing guide

Research direction

Start by reading the Network.WebSockets server-side binary-data path and ghcjs-base's JavaScript/Web/MessageEvent.hs, then compare the ByteString and Data.Text options mentioned in the issue. Done means the websocket protocol no longer depends on Show/Read and the chosen representation works across the server and GHCJS client.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
networking
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.