Contact's display label gets overwritten
In my CardDav source I have some contacts stored without no name information other than a display label. When I import these contacts into the device, the display label information is lost (and maybe replaced by a nickname or by the phone number).
The CardDav plugin has some code (enclosed in one
#ifdef which we disable in Ubports) which, on import, stores the display label into the name fields, if these are empty. But I'd argue that this is wrong, too.
ContactsEngine::regenerateDisplayLabel() is the function responsible for this rewrite, because it overwrites the display label regardless of whether it had some valid data already.
It's also not clear to me why the display label is blacklisted as a detail which cannot get promoted to the aggregate.