Contribution Date
Contribution Project
Contribution Details
Name a real transform, and pin the names to damrs
The media source fetched its thumbnail with `w=320,h=320,fit=inside,fmt=webp`,
written on the assumption that a transform describes an image. It does not.
`delivery::op_hash_for` resolves a transform against the built-in profiles and
then the tenant's conversions, and anything else is NotDeliverable —
deliberately, because approximating a typo'd profile would silently hand back a
different size than the caller integrated against.
So every thumbnail this module fetched would have been refused, on every
request, and nothing on the Drupal side would have said why: the fetch failure
path logs a notice and falls back to the generic icon, which is exactly the
behaviour a restricted asset produces. It would have looked like a rights
problem forever.
The valid names are original, thumb-256, preview-1024 and web-2048, plus a
tenant's conversion keys. They are now a Transforms class pinned to a fixture
generated by `cargo run -p dam-media --example transform_names`, and CI diffs
that fixture the same way it diffs the signing vectors. A rename upstream fails
the connector's tests rather than its users' pages.
The example lives in dam-media rather than dam-core, because dam-core cannot
depend on dam-media without a cycle.
Found by reading the delivery path to write the next submodule, not by any test
— the module's own suite was green, since a fixture cannot know that the string
it signs is meaningless.
Contribution Issue Link
Files count
0
Patches count
1