-
Notifications
You must be signed in to change notification settings - Fork 355
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: coder/websocket
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d099e16
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: coder/websocket
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0c8afd9
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 6 commits
- 2 files changed
- 2 contributors
Commits on Dec 17, 2025
-
fix: transmit in single frame when compression enabled
Closes #435 ### Problem When compression was enabled, `Conn.Write` sent messages across many small frames due to the flate library's internal `bufferFlushSize` (240 bytes). Each flush triggered a `writeFrame` call, producing alternating ~236 and 4 byte frames. This broke clients like Unreal Engine that only process one frame per tick. ### Solution `Conn.Write` now compresses the entire message into a buffer first, then transmits it as a single frame. Messages below `flateThreshold` bypass compression and are sent uncompressed in a single frame. For `CompressionContextTakeover` mode, the flateWriter destination is restored after buffered compression to ensure subsequent `Writer()` streaming calls work correctly. ### Changes - **write.go**: Buffer compressed output before transmission - **compress_test.go**: Added regression tests for single-frame behavior and Write/Writer interop
Configuration menu - View commit details
-
Copy full SHA for f05d80c - Browse repository at this point
Copy the full SHA f05d80cView commit details
Commits on Dec 19, 2025
-
- humanize some comments/remove lots of unneeded ones - refactor write - ensure we close?
Configuration menu - View commit details
-
Copy full SHA for eef8394 - Browse repository at this point
Copy the full SHA eef8394View commit details -
- compression_test.go: add a `Writer` -> `Write` transition - compression_test.go: Claude sucks at variable names apparently - write.go: make sure to hold a lock 🤦 - write.go: combine two identical if branches - write.go: rename `writeFull` because the name was bad
Configuration menu - View commit details
-
Copy full SHA for 885bd0d - Browse repository at this point
Copy the full SHA 885bd0dView commit details -
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 2aa28fb - Browse repository at this point
Copy the full SHA 2aa28fbView commit details -
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 67220ee - Browse repository at this point
Copy the full SHA 67220eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c8afd9 - Browse repository at this point
Copy the full SHA 0c8afd9View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff d099e16...0c8afd9