deno
deno copied to clipboard
Integrate autobahn test suite into CI
Versions 1.27 - 1.28.1 had an issue where websocket messages would not be sent in certain cases (https://github.com/denoland/deno/issues/16511)
In at least version 1.28.2 - 1.28.3 I've found that Deno's websocket implementation will send a message twice if the message is an ArrayBuffer over ~100kb. This seems to have been fixed in 1.29.0, and it seems like nobody noticed.
But in both cases I had to spend a day debugging what was happening, only to find out that Deno's websocket implementation was not working as expected. Would it make sense for Deno to introduce some more tests for the Websocket implementation, so that things like these work as expected?
We should add autobahn tests to CI (https://github.com/crossbario/autobahn-testsuite)
I had an issue in version 1.28.3 where it was throwing an uncatchable exception on postMessage if client disconnected without proper closing of connection. I don't know if It's still occuring, but web sockets are not very stable on deno.
Another bug found, messages are being dropped: https://github.com/denoland/deno/issues/17332
And may as well this long running issue where properties on the socket are undefined (which they must not be): https://github.com/denoland/deno/issues/15340
https://github.com/denoland/autobahn I run this manually when large changes are made to ext/websockets. PRs welcome to integrate this into CI