Skip to content

fix(net): stop classifying casks from redirect chains the download would reject - #880

Merged
indaco merged 2 commits into
mainfrom
fix/head-walk-matches-download-redirect-budget
Aug 20, 2026
Merged

fix(net): stop classifying casks from redirect chains the download would reject#880
indaco merged 2 commits into
mainfrom
fix/head-walk-matches-download-redirect-budget

Conversation

@indaco

@indaco indaco commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Description

The HEAD walk that classifies a cask artifact resolved one redirect further
than the download could follow. A cask URL behind exactly that many redirects
classified successfully - possibly as .pkg, which raises the system-wide
sudo installer -target / prompt - and then always failed at download. No
install that works today changes; the password prompt just stops being raised
for a download that provably cannot complete.

The budgets disagreed because each of the three redirect walks kept its own
copy of the rules. They now share one decision, so this class of drift - four
instances so far - closes by construction rather than by hand.

Related Issue

  • None

Notes for Reviewers

  • The budget's value is untouched; it is deliberate stdlib parity.
  • Three existing regression scripts asserted the old three-call-site shape and
    are re-pointed at the shared decision; their fixtures are unchanged.

@indaco
indaco merged commit bec64de into main Aug 20, 2026
3 checks passed
@indaco
indaco deleted the fix/head-walk-matches-download-redirect-budget branch August 20, 2026 20:48
indaco added a commit that referenced this pull request Aug 22, 2026
…uld reject (#880)

* fix(net): stop classifying casks from redirect chains the download would reject

* test(net): guard the shared redirect budget with a regression script

(cherry picked from commit bec64de)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant