Use an API route for sending chat messages. #512
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are currently using the WebSocket connection for receiving and sending chat messages. Sending messages has a small client bug when the message the server broadcasts is different from the one you sent (eg. your message was truncated). The client tries to infer which message has just completed sending by comparing the message text. Truncated messages will then always show as if they're still sending.
Instead of building some RPC system on the WebSocket, we can use HTTP requests and respond with the generated message ID, so the client can reliably find the message that was sent.
(Need to test this with the client a bit, I think we may need to support a client-generated ID instead.)
Closes #57