runbox7
runbox7 copied to clipboard
Contacts: Support display and edit of custom names of field types
Contacts app does not support display and edit of custom names of field types. Not sure whether the custom names are supported by the standard or invented by google for their platforms (android, ...).
Symptoms:
- Contacts of the Runbox account synced between a phone and the Runbox server. On Android in the Contacts app a phone (email or other fileds) has a type (cell, home, work, fax, ..., and custom). When Custom is selected and a custom type is typed in, after syncing the Runbox Contacts app should display that custom type. Instead, an empty field is displayed.
- When editing in the Runbox Contacts app, only a limited number of fields is available. Fields cannot be customized.
I dug a bit into this, and there could be multiple issues here:
First, Android is being funny when it comes to encoding these kinds of Custom field types: they come out as something like TEL;X-CUSTOM(CHARSET=UTF-8,ENCODING=QUOTED-PRINTABLE,=74=65=73=74):999
, which is apparently violating the vCard spec (android bug here) and is therefore rejected by the DAV server that we use (issue here). Something has apparently changed about the latter if you were able to synchronize the contact with our server after all. It is possible that, on one end or another, the custom field was just dropped entirely and that's why you're seeing it blank.
Another option is that it somehow manages to get stored correctly even though it's invalid, and the Runbox7 UI just fails to display it – not a big surprise given how absolutely bizzare the format is, but still something we could do better at.
Could you check if the .vcf file on https://dav.runbox.com/ contains the custom field type, and how is it encoded? It would've been easier to see if our Contact Export was implemented in the UI, but it isn't out yet – sorry for that. I'd check it myself but I don't have any Android phone to test it properly: perhaps someone else from the team can help out too :)
@tadzik The .vcf in the dav server indeed contains the custom type fields. Here is a snapshot (private info sanitized):
BEGIN:VCARD
VERSION:3.0
PRODID:-//Sabre//Sabre VObject 4.2.0//EN
UID:f205d9d6-f5cb-4625-be9f-54557a6c3bf0
FN:Name Surname
N:Surname;Name;;;
GROUP1.TEL;TYPE=x-starý,PREF:+1234567890
TEL;TYPE=cell:+0987654321
GROUP1.X-ABLABEL:Starý
GROUP2.X-ABLABEL:Obsolete
EMAIL;TYPE=PREF:[email protected]
GROUP2.EMAIL;TYPE=x-obsolete:[email protected]
Note the line GROUP1.TEL;TYPE=x-starý,PREF:+1234567890
with the custom name starý
.
Ah, that's fortunate; we can quite easily support those with little additional effort.
Most work done in https://github.com/runbox/runbox7/tree/tadzik/244/contact-custom-field-types – still needs to support the x-
prefixes more transparently.
Apropos, here is a related screenshot: it looks like the some fields are dealt with as if they were custom although they are not really. The data originates from gmail and the contact was not change since the import.
To be notes that the contact detail on the line that has the two types (one selected, one empty) are actually somehow correct: the "Personal" was "Home" on gmail and the "Cell" was "Mobile". The third phone number should have the type "Other" instead of "Home".
Is any work being done on this? This is actually holding me off from going to runbox. I do not want to import hundreds of contacts which may then have missing or incorrect fields.
Any plans to fix this?