-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Websockets 1002 Unknown opcode: 7 with Jetty 10.0.24 on Mac, but not Linux, Win10 - with test case attached #12390
Comments
Also, I tested downgrading to Jetty 10.0.22 and 10.0.20, but the above test case fails there too. |
@afarber sorry, but Jetty 10/11 are at end of community support: Please upgrade to Jetty 12 and report back if you still have the problem. |
Yes, this bug seems to be in Jetty 12 too:
To reproduce:
And then just navigate to the URLs:
I have tried both Edge and Safari browsers on macOS 15 |
@afarber can you report the HTTP Upgrade Request and Response headers from your developer tools on safari and edge? |
Noting the websocket bugs listed for webkit (used by both edge and safari on macos)
Also, what is the exact versions listed for your safari and edge browsers? |
Edge request headers:
Edge response headers:
|
Safari request headers:
Safari response headers:
|
Yup, you have websocket compression via the If you use something like Chrome on that same Mac, does it also fail? (it has a different underlying web technology codebase). Oddly, the reported browser, in both cases is "Macintosh; Intel Mac OS X 10_15_7", which isn't a M1 mac. |
Firefox request headers:
Firefox response headers:
|
Sorry, I cannot install Chrome, because I do not want them to track my Android dev account or ban Google/Android phone accounts of me and my relatives. They already banned my AdSense account for nothing maybe 15 years ago and the experience was bad. |
I only have a Macbook Pro from 2012, can't upgrade it to Seqouia. Seeing as websocket compression is just continually hosed on Safari and webkit, it's probably time to implement a User-Agent based compression logic at the low level websocket negotiation code. We are not the only group struggling with webkit issues with websocket compression.
The three User-Agents look like ...
I think we should look for either @lachlan-roberts what do you think about having a configurable for something like "websocket.compression.webkit.enabled=false" as a default. |
Ya know, maybe a Similar to what we used to have back in Jetty 9, with the MsieSslRule. It could be enabled rather quickly from a jetty-home module too. |
Jetty version(s)
12.0.14
Java version/vendor
(use: java -version)
javac 23
OS type/version
macOS Sequoia
How to reproduce?
Please run the ./test-mac.sh script in the attached zip archive and then open the URL http://127.0.0.1:8080/en/ in Edge or Firefox browser on macOS and look at the browser console:
jetty-mac-opcode-7.zip
The test Javascript code is in the file jetty-mac-opcode-7/my-servlet/src/main/resources/index.html
Thank you
The text was updated successfully, but these errors were encountered: