Skip to content

Re-render a JPEG's derivatives when its creator or rights change - #4

Merged
berb merged 2 commits into
mainfrom
fix/rights-change-rerenders-jpegs
Oct 17, 2026
Merged

berb merged 2 commits into
mainfrom
fix/rights-change-rerenders-jpegs

Conversation

@berb

@berb berb commented Oct 17, 2026

Copy link
Copy Markdown
Owner

Every derivative is stamped with the creator and rights from the photograph's sidecar (F-16). The derivative cache key included the sidecar only for a RAW, which is developed from it. For a JPEG the key was the settings hash alone, and the photo id is the hash of the original, which a sidecar edit does not change.

So correcting a copyright line in a JPEG's .xmp hit a complete cache entry and kept the old line, in files named for their bytes that a host may cache forever.

The key now includes the stamped creator and rights (renderKeyFor). A photograph that stamps nothing keeps its existing key and cache; the RAW key is unchanged.

Tests (no external tools needed): key differs per creator/rights, fields do not run together, RAW key still follows its sidecar, and derivePhoto does not serve a seeded cache entry after the rights change.

Effect on users: photographs with a creator or rights are rendered once more on the next build. Bytes are the same, so names and deployed files are unchanged unless the bytes differ.

Each PR adds a line under Unreleased / Fixed in CHANGELOG.md, so merging several will conflict there; keep every line.

🤖 Generated with Claude Code

Claude Code and others added 2 commits October 17, 2026 07:40
…, F-16)

Every derivative carries the creator and rights its sidecar names. The cache
key held the sidecar only for a RAW, which is developed from it; for a JPEG it
was the settings hash alone, and the photo id is the hash of the original, which
a sidecar edit does not touch. Correcting a copyright line therefore hit a
complete cache entry and kept the old line, in files named for their bytes that
a host may cache forever.

The key now includes the stamped creator and rights. A photograph that stamps
nothing keeps its existing key and its cache.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@berb
berb merged commit 9db991e into main Oct 17, 2026
1 check passed
@berb
berb deleted the fix/rights-change-rerenders-jpegs branch October 17, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant