Skip to main content

Breaking: CustomFieldDefinition owner.marketplaceEntry removed — use owner.irisApp

@trackunit/custom-field-api (from 2.20.0) replaces owner.marketplaceEntry with owner.irisApp on every custom field definition returned by useCustomFieldDefinitions, useAllCustomFieldDefinitions, and useCustomFieldsValueAndDefinitionwith no compatibility field. If your app reads definition.owner?.marketplaceEntry, bumping the dependency is a compile failure, not a deprecation warning. Apps that only use owner.irisAppId, or don't read owner at all, are unaffected.

Why this changed

Custom field ownership is being modeled directly against the owning Iris App rather than its marketplace listing. owner.irisApp carries the same display name as the old marketplaceEntry.name, plus the app's irisAppId alongside it, so you no longer need to cross-reference owner.irisAppId separately to get both the ID and the name in one place.

When it affects you

Nothing changes until you bump @trackunit/custom-field-api to 2.20.0 or later. At or above that version, owner.marketplaceEntry is gone from the type and from the data returned over the wire — any code reading it stops compiling.

// before
const ownerName = definition.owner?.marketplaceEntry?.name ?? definition.owner?.irisAppId;

// after
const ownerName = definition.owner?.irisApp?.name ?? definition.owner?.irisAppId;

See Using a Custom Field for the full hook reference.