fix: disable websocket compression for startup logs in Safari #8087
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes startup log streaming in Safari and supercedes #8070.
I suspect the problem lies in WebSocket message fragmentation when using compression and the client is Safari. However, I have not investigated in-depth what's wrong and as such, did not speculate further.
For instance, I did observe the following oddity in
nhooyr/websocket
: https://github.com/nhooyr/websocket/blob/14fb98eba64eeb5e9d06a88b98c47ae924ac82b4/accept.go#L242-L244UA parsing is done client-side mainly because I didn't find any satisfactory and recently updated libraries for UA parsing in Go.
Here are a few possibly related links: