Issue #3594030: Add an optional, owner-picked expiry to a trust
Trusts (standing per-kind authorizations) could not be time-boxed from the UI, though the data model already supported it. This wires it up:
TrustManager::trust()takes an optional$expires_at, set on a new trust and refreshed on re-trust.- A shared
TrustDurationTrait(duration select + resolver) is reused by the four trust-granting forms:TrustConsumerForm,RequestTrustForm,ConsentForm,RequestApproveForm. Webform is covered transitively. - Default Never preserves permanent-until-revoke behaviour; the active-trust predicate and GC already honour the expiry.
- French translations, an owner-guide note, and a kernel-test regression guard (verified failing without the setter).