You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Send Accept-Encoding: identity for tarball downloads.
Keep metadata requests unchanged, so packuments can still use normal HTTP compression.
Add a registry retry test that asserts tarball requests use identity encoding.
Why
A user reported intermittent GitHub Actions failures in aube ci where larger native tarballs stalled and eventually failed with HTTP error: error decoding response body. Tarballs are already .tgz archives, so asking CDNs or proxies for another HTTP content-encoding layer adds an avoidable decode failure mode without reducing useful payload size.
Current main already retries tarball body read/decode failures and surfaces retry warnings; this change reduces the chance of hitting HTTP content-encoding decode errors in the first place.
Validation
cargo fmt --check
cargo test -p aube-registry retry_tests
cargo test -p aube-registry
Note
Low Risk
Low risk: a narrow HTTP header change affecting only tarball GETs, plus a test asserting the new behavior; could only impact unusual registries that rely on content-encoding for tarballs.
Overview
Tarball downloads now send Accept-Encoding: identity in fetch_tarball_bytes to prevent proxies/CDNs from applying an additional HTTP content-encoding layer on already-.tgz payloads.
Adds a wiremock retry test that asserts tarball GETs include the identity encoding header, while keeping packument/metadata request behavior unchanged.
Reviewed by Cursor Bugbot for commit f527fa0. Bugbot is set up for automated code reviews on this repo. Configure here.
This PR adds a single Accept-Encoding: identity header to tarball GET requests so CDNs and proxies do not apply an additional HTTP content-encoding layer on top of what are already .tgz archives. Metadata/packument requests are left unchanged. A new wiremock test asserts the header is present and that the mock endpoint is hit exactly once.
Confidence Score: 5/5
Safe to merge — change is minimal, well-motivated, and covered by a targeted test.
Only one file changed; the fix is a single header addition on a narrow code path (tarball fetches only), consistent with how reqwest 0.12 handles explicit Accept-Encoding overrides. The new test uses .expect(1) to confirm the header is sent, and no existing behavior for packument/metadata requests is altered.
No files require special attention.
Important Files Changed
Filename
Overview
crates/aube-registry/src/client.rs
Adds Accept-Encoding: identity to tarball requests and a corresponding wiremock test; metadata paths are unchanged.
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
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.
Summary
Accept-Encoding: identityfor tarball downloads.Why
A user reported intermittent GitHub Actions failures in
aube ciwhere larger native tarballs stalled and eventually failed withHTTP error: error decoding response body. Tarballs are already.tgzarchives, so asking CDNs or proxies for another HTTP content-encoding layer adds an avoidable decode failure mode without reducing useful payload size.Current
mainalready retries tarball body read/decode failures and surfaces retry warnings; this change reduces the chance of hitting HTTP content-encoding decode errors in the first place.Validation
cargo fmt --checkcargo test -p aube-registry retry_testscargo test -p aube-registryNote
Low Risk
Low risk: a narrow HTTP header change affecting only tarball GETs, plus a test asserting the new behavior; could only impact unusual registries that rely on content-encoding for tarballs.
Overview
Tarball downloads now send
Accept-Encoding: identityinfetch_tarball_bytesto prevent proxies/CDNs from applying an additional HTTP content-encoding layer on already-.tgzpayloads.Adds a
wiremockretry test that asserts tarball GETs include the identity encoding header, while keeping packument/metadata request behavior unchanged.Reviewed by Cursor Bugbot for commit f527fa0. Bugbot is set up for automated code reviews on this repo. Configure here.