A capture's downloads shared one client through http.runWithClient so a failed capture could abort the rest. But package:http's top-level get closes whatever client it picked up when its request finishes, so the first finished download closed the shared client: in a browser that aborts the other downloads in flight and refuses a refresh after an expired URL, and a screenshot of a page with two or more cloud images failed with "Couldn't load the images on this page." The fetcher now receives the capture's client and downloadCloudImageBytes calls client.get on it, so only the capture closes it, once it is done. A test serves three images (one refreshed after an expired URL) through a client that, like BrowserClient, refuses requests once closed; it fails with the old behaviour. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Dara Adedeji committed on 9/29/2026, 7:23:23 AMparent5424d76
Checks
- SuccessfulCodeRabbitGitHub
Review skipped: reviews are disabled for this base branch
- SkippedconvexGitHub
- Skippedclient-contractGitHub
- Skippedpresence-workerGitHub
- Skippednative-bridgeGitHub
- Skippedwindows-testGitHub
- Skippedlinux-buildGitHub
- Skippedwindows-buildGitHub
- SuccessfulGreptile ReviewGitHub
- Successfultest (shard 1)GitHub
- SuccessfulwebGitHub
- Successfultest (shard 0)GitHub
- SuccessfulchangesGitHub
- SuccessfulanalyzeGitHub
4 files changedLine totals unavailable