fix: handle HTTP module decompression errors - #21890
Conversation
🦋 Changeset detectedLatest commit: 77ec6f5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughChangesHttpUriPlugin now propagates gzip, Brotli, and deflate decompression errors with the affected URL. The HTTP URL asset-module tests add malformed gzip coverage and expect a compilation error. HTTP URI decompression errors
Suggested reviewers: Merge Risk: ⚪ Minimal · up to Malformed compressed HTTP responses now report a normal compilation error instead of leaving compilation unresolved. The change is localized and merge-ready after normal checks and review, with no actionable merge-blocking risk remaining. 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (3 passed)
Full details: Title checkExplanation The title uses the valid
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Compressed HTTP module responses could emit an error on the decompressor without reaching the request error handler, leaving compilation unresolved. The selected decompression stream now forwards its first error through the normal callback with URL context.
What kind of change does this PR introduce?
fix
Did you add tests for your changes?
Yes. A real HTTP config case serves invalid gzip data and verifies compilation reports the decompression failure. The focused integration run passes 48 tests, and all lint, generated-output, type, format, spelling, changeset, and diff checks pass.
Does this PR introduce a breaking change?
No. It turns a stalled/error-leaking edge case into the expected module error.
If relevant, did you update the documentation?
A patch changeset documents the corrected failure handling. No public documentation change is required.
Use of AI
Significant AI assistance was used to audit the stream lifecycle and draft the fix and integration regression. I reviewed the final diff and verification results.
Summary by CodeRabbit