Commit Graph
4 Commits
Author SHA1 Message Date
dualfroz 17d32b7184 Do not use up retries on requests which timed out during a prompt
Nothing drives the transfers while tick() is blocked, e.g. by a prompt
for credentials, so requests which are still connecting time out with
curl error 28. Since #12662 these are retried, but each retry counts
like any other, so a few prompts can use up all of them, and parallel
requests to a private host which timed out that way abort with
"Invalid credentials" once the first of them got credentials, as
AuthHelper only reuses those for a request which was not retried yet.

tick() now keeps track of how long it was blocked between two ticks,
and a request which spent most of its time in that gap is restarted
without counting towards maxRetries.

Fixes #12402
2026-10-17 03:58:45 +02:00
upstream 44656d3be2 Upstream composer/composer state of the touched files before b05f4e7d53 2026-10-17 03:58:45 +02:00
dualfroz d4a3091c46 Refresh abandoned state from the repositories in audit
The abandoned flag in composer.lock and installed.json is only written
when a package gets updated, so composer audit never reported packages
that were abandoned after that.

The audit command now loads the audited versions from the repositories,
first repository with the package name wins, and syncs the abandoned
state and replacement from there. This is skipped with
--abandoned=ignore and unreachable repositories are skipped with
--ignore-unreachable like for advisories.
2026-10-17 03:31:37 +02:00
upstream 12931dd03f Upstream composer/composer state of the touched files before 062bfdce1b 2026-10-17 03:31:37 +02:00