Skip to content
Corex

ReleaseProgress

Corex\Config\Releases\ReleaseProgress · class · Config layer

Where an installation stands: state.json in the installer’s place, read and written as one thing (spec 107, plan D5 and D8; FR-022, FR-023). An installation is many requests, and the release that starts it is not the release that finishes it: the requests after the swap are answered by the code just installed. So this shape is a contract between releases. PROTOCOL names it. A release that changes what is kept here raises the number, and must go on reading the one before it, because that is what the release it replaces will have written. The installation’s key is not here. Its hash is, to write into the two files that ask for it.

__construct(string $step, int $cursor, int $of, string $package, string $packageHash, string $manifest, string $keyHash, int $by, string $preparedAt, bool $older, bool $clientUnconfirmed, ?array $replaced, array $changes, ?string $failed, array $downgrades)

Section titled “__construct(string $step, int $cursor, int $of, string $package, string $packageHash, string $manifest, string $keyHash, int $by, string $preparedAt, bool $older, bool $clientUnconfirmed, ?array $replaced, array $changes, ?string $failed, array $downgrades)”

The installation in progress on this site, or none.

at(string $step, int $cursor, int $of): self

Section titled “at(string $step, int $cursor, int $of): self”

The same installation, standing at another step or further into this one.

The same installation with some of it changed, by the constructor’s own names.

The version the site ran before, where it knew.

When a prepared installation stops waiting to be confirmed.

What the screen is told of it: where it stands and whose it is. Nothing a browser could use to pass for the installation.