Skip to content

v2.0.0

Compare
Choose a tag to compare
@vishwam vishwam released this 25 Dec 23:46
· 8 commits to main since this release

This release improves the performance of parsing the response stream and fixes some corner cases to better match the spec.

Changed

  • The id, event, and data fields are now initialized to empty strings, per the spec (they were previously undefined)

  • The onmessage callback is now called for all messages (it was previously triggered only for messages with a data field)

  • If a message contains multiple data fields, they will be concatenated together into a single string. For example, the following message:

    data: Foo
    data:Bar
    data
    data: Baz
    

    will result in { data: 'Foo\nBar\n\nBaz' }

  • If the server sends an id field with an empty value, the last-event-id header will no longer be sent on the next reconnect.

Removed

  • The internal parseStream function has been removed. The parse implementation was previously based on async generators, which required a lot of supporting code in both the typescript-generated polyfill and the javascript engine. The new implementation is based on simple callbacks, which should be much faster.