RESOLVED DUPLICATE of bug 202401204237
REGRESSION (Safari 13): Websocket cannot send large frames
https://bugs.webkit.org/show_bug.cgi?id=204237
Summary REGRESSION (Safari 13): Websocket cannot send large frames
berkus
Reported 2019-11-15 11:18:05 PST
Possibly in relation with https://bugs.webkit.org/show_bug.cgi?id=170463 but posting a new bug. Safari 13 both on macOS Catalina and iOS 13.2 fails to send large websocket frames. In our testing, sending frames under 1k to a Twilio-specific connection works fine, but after sending a few large frames (about 32k each) the connection fails with WebSocket connection to 'wss://tsock.us1.twilio.com/v3/wsconnect' failed: Failed to compress frame WebSocket connection to 'wss://tsock.us1.twilio.com/v3/wsconnect' failed: Failed to send WebSocket frame. This is a REGRESSION because the same sequence works well in Safari 12 with all the other configuration remaining the same. I don't have a minimal example in itself, since we're using Twilio Chat quickstart to test. Just sending frames through websocket in one direction does not seem to trigger that error. However there's a copy of the quickstart repository that contains all necessary information to start testing. 1. Grab the repository from here: https://github.com/berkus/twilio-chat-quickstart-safari13-repro/tree/safari13-repro 2. In public/chat/index.js find the text INSERT_URL_HERE and replace it with the token generator url which has already been preconfigured for you: https://aquamarine-cichlid-8646.twil.io/token?key=_aapl_repro98767542432 3. Run `npm install` and start the server using `node run start` 4. Navigate Safari to localhost:3000/chat 5. It will try to fetch and paginate approximately 600 channels and at some point you will see a NOT_ACCEPTABLE_MESSAGE response from our websocket server. At the same point there will be "Failed to compress frame" message in the console log. Please note that NOT_ACCEPTABLE_MESSAGE is the response of our server due to break of protocol between server and client (client attempts a reconnection) - and that happens because of the failure of Safari to compress and send a frame. This is a REGRESSION in Safari 13 and it works properly in Safari 12. We will be happy to assist with debugging this issue further.
Attachments
Radar WebKit Bug Importer
Comment 1 2019-11-15 11:23:21 PST
Alexey Proskuryakov
Comment 2 2019-11-15 11:25:48 PST
Could be same as bug 202401, but needs further analysis to confirm.
berkus
Comment 3 2019-11-15 11:31:44 PST
Looks very similar indeed, I will check if the "x-webkit-deflate-frame extension" is enabled for us. Can it be force-disabled from the server-side somehow?
berkus
Comment 4 2019-11-20 09:41:45 PST
We have force-disabled support for "x-webkit-deflate-frame" extension on the server side. This seems to work around the problem for the time being. I hope to see actual working permessage-deflate support in WebKit at some point in time.
Alexey Proskuryakov
Comment 5 2019-11-22 09:32:22 PST
Based on this, marking as a duplicate of bug 202401. *** This bug has been marked as a duplicate of bug 202401 ***
Note You need to log in before you can comment on or make changes to this bug.