Follow-up to #2642 / #2900 (ADR-0089), for the sibling objectui repo.
Why
#2900 makes visibleWhen the canonical conditional-visibility key and normalizes the deprecated visibleOn (view form) / visibility (page component) aliases into visibleWhen at the spec parse boundary (a zod .transform()). Any metadata parsed through the spec schemas now exposes only visibleWhen.
The form + page renderers live in objectui (not in this backend repo) and currently read visibleOn / visibility. They must be updated to read visibleWhen so runtime conditional visibility keeps working once metadata is normalized. This is the "Renderer reads" checkbox in #2642.
Tasks (in objectui)
References
Follow-up to #2642 / #2900 (ADR-0089), for the sibling
objectuirepo.Why
#2900 makes
visibleWhenthe canonical conditional-visibility key and normalizes the deprecatedvisibleOn(view form) /visibility(page component) aliases intovisibleWhenat the spec parse boundary (a zod.transform()). Any metadata parsed through the spec schemas now exposes onlyvisibleWhen.The form + page renderers live in
objectui(not in this backend repo) and currently readvisibleOn/visibility. They must be updated to readvisibleWhenso runtime conditional visibility keeps working once metadata is normalized. This is the "Renderer reads" checkbox in #2642.Tasks (in
objectui)visibleWhenon form sections/fields (wasvisibleOn).visibleWhenon page components (wasvisibility).visibleWhen ?? visibleOn ?? visibilityread only if raw (un-parsed) metadata can reach the renderer; otherwise readvisibleWhendirectly.pnpm objectui:refresh, verify visibility rules in the showcase (contact-form / page-variables pages, task formnotesfield).References
docs/adr/0089-unify-visibility-predicate-naming.md)visibleWhen#2642