fix: fall back to gzip when brotli compression is unavailable - #990
Merged
Conversation
vdusek
marked this pull request as ready for review
August 3, 2026 10:46
B4nan
approved these changes
Aug 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Request compression guarded brotli availability with a
typeof brotliCompress === 'function'check, commented as a workaround for Node.js < v10.16.0. That version check has been dead code for a long time, and it does not actually cover the case it was reaching for: a runtime that exportsbrotliCompressbut cannot run it still throws.Replaced it with a real
try/catcharound the compression call, keeping the gzip fallback. The behavior is now keyed on compression actually failing rather than on a symbol being present, which also covers runtimes with a partialnode:zlib(bundler polyfills, Node compatibility shims). If gzip fails too, compression is skipped instead of failing the request, same as before.Split out of #984 per this review discussion - it is unrelated to the Node.js version bump.
✍️ Drafted by Claude Code