fix: properly call the send callback during upgrade
The "drain" event (added in [1]) had two different meanings: - the transport is ready to be written - the packets are sent over the wire For the WebSocket and the WebTransport transports, those two events happen at the same time, but this is not the case for the HTTP long-polling transport: - the transport is ready to be written when the client sends a GET request - the packets are sent over the wire when the server responds to the GET request Which caused an issue with send callbacks during an upgrade, since the packets were written but the client would not open a new GET request. There are now two distinct events: "ready" and "drain" Related: https://github.com/socketio/engine.io/issues/695 [1]: https://github.com/socketio/engine.io/commit/2a93f06e276f3adb76e494ae9198da38799d493c
D
Damien Arrachequesne committed
362bc78191c607e6b7c7f2b2e7e7ddb2fe53101c
Parent: afd2934