Use something smarter than `Show/Read` for the websockets protocol
- 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
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