Force-DI does not resolve API-only namespaced metadata bindings
Closed this issue · 0 comments
If you have a binding record that does not bind to an SObject and only binds to the API "developerName", that binding record will be ignored when executing in a namespaced scratch org.
The di_Binding.Resolver.isBindingMatchByFilteringCriteria( di_Binding )
method fails to make a match because the value for this.developerName
is generated from the System.Type
which includes the namespace value but the bind.DeveloperName
doesn't included the namespace because its value was manually entered into the associated CMDT Binding__mdt record.
If you were to enter the namespace along with the API name into the CMDT Binding__mdt record, the resolution would work fine but that in turn limits your interaction with that codebase to only namespace enabled scratch orgs.