# Serve old builds pictures by image id, and keep legacy pictures findable · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/366567721653346ae1cfef6544f94fc88d08dc1b)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 366567721653346ae1cfef6544f94fc88d08dc1b

Requested commit: 366567721653346ae1cfef6544f94fc88d08dc1b

Commit: 366567721653346ae1cfef6544f94fc88d08dc1b

Tree: 456a4956b6cc23d0d887877eac5d3c25efd387e4

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Serve old builds pictures by image id, and keep legacy pictures findable

Three gaps for builds and rows from before picture ids:
- Image payloads go without assetId to clients that don't ask for it
  (acceptsPictureIds on the snapshots and applyBatch): such a client
  keeps no assetId, so a copy would read to it as an unsaved change.
- images:getAssetUrl answers for an image's own id with the picture it
  shows, as old builds ask when a picture's address expires.
- A picture from before upload statuses is looked up among its own
  strategy's rows first: copies keep pictures' ids across strategies,
  so twenty copies could fill a lookup of every strategy's rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

- [09301ab3cc8511c29c2b6445d73f84de49705607](https://git.cafe/dara/icarus/commit/09301ab3cc8511c29c2b6445d73f84de49705607?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/366567721653346ae1cfef6544f94fc88d08dc1b?format=markdown)
