The current SSE implementation incorrectly dispatches each line starting with data: as a separate message. According to the SSE specification, multiple data: lines should be buffered and concatenated (with newlines) until an empty line is encountered, at which point the complete event should be dispatched. This will cause JSON parsing failures for any multi-line payloads.
A review on #820 showed that our SSE implementation might be too naive: