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.
Public API
Section titled “Public API”__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)”standing(ReleaseStore $store): ?self
Section titled “standing(ReleaseStore $store): ?self”The installation in progress on this site, or none.
save(ReleaseStore $store): void
Section titled “save(ReleaseStore $store): void”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.
with(array $changed): self
Section titled “with(array $changed): self”The same installation with some of it changed, by the constructor’s own names.
manifest(): ReleaseManifest
Section titled “manifest(): ReleaseManifest”replacedVersion(): ?string
Section titled “replacedVersion(): ?string”The version the site ran before, where it knew.
isBeforeTheSwap(): bool
Section titled “isBeforeTheSwap(): bool”waitsUntil(): DateTimeImmutable
Section titled “waitsUntil(): DateTimeImmutable”When a prepared installation stops waiting to be confirmed.
forTheScreen(): array
Section titled “forTheScreen(): array”What the screen is told of it: where it stands and whose it is. Nothing a browser could use to pass for the installation.