Skip to content

Fix asset upload failures with guzzlehttp/guzzle 7.15+ - #282

Merged
taylorotwell merged 2 commits into
masterfrom
VPR-98
Aug 5, 2026
Merged

Fix asset upload failures with guzzlehttp/guzzle 7.15+#282
taylorotwell merged 2 commits into
masterfrom
VPR-98

Conversation

@m074554n

@m074554n m074554n commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Throwing from within a Pool 'rejected' callback leaves Guzzle's EachPromise in an inconsistent state, which Guzzle 7.15's scoped cURL multi handler waits no longer tolerate — wait() falls back to rejecting with 'Invoking the wait callback did not resolve the promise'.

Capture the first failure in the callback instead, let the pool settle cleanly, and throw the RequestFailedException after wait() returns. Also close store request file streams in a finally block, open each stream only once (the lazy map previously ran fopen twice per file), and add a client() factory seam so the failure paths can be tested against a mock handler.

m074554n and others added 2 commits August 5, 2026 12:19
Throwing from within a Pool 'rejected' callback leaves Guzzle's
EachPromise in an inconsistent state, which Guzzle 7.15's scoped cURL
multi handler waits no longer tolerate — wait() falls back to rejecting
with 'Invoking the wait callback did not resolve the promise'.

Capture the first failure in the callback instead, let the pool settle
cleanly, and throw the RequestFailedException after wait() returns.
Also close store request file streams in a finally block, open each
stream only once (the lazy map previously ran fopen twice per file),
and add a client() factory seam so the failure paths can be tested
against a mock handler.
@taylorotwell
taylorotwell merged commit 5d3120b into master Aug 5, 2026
31 of 32 checks passed
@taylorotwell
taylorotwell deleted the VPR-98 branch August 5, 2026 14:00
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.

2 participants