ADR property according to vCard standard
Checklist
- [x] I can reproduce the bug with the latest version given here.
- [x] I made sure that there are no existing issues - open or closed - to which I could contribute my information.
- [x] I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
- [x] I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
- [x] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
- [x] This issue contains only one bug.
- [x] I have read and understood the contribution guidelines.
Affected app version
1.3.0
Affected Android/Custom ROM version
Android 14 / /e/OS
Affected device model
Fairphone 4
How did you install the app?
F-Droid / IzzyOnDroid
Steps to reproduce the bug
- Go to "+ button" (add new contact)
- Fill out address fields (i. e. Street, Appartment or suite no, Post office box, Postal code, City, State, Country)
- Fill out other fields to identify the contact (i. e. name)
- Save contact
- Export contact
- Open vcf-4.0-file on a text editor
- Find ADR property which looks like this:
ADR;TYPE=HOME:;;Street Post office box Appartment or suite no\nPostal code City\nState\nCOUNTRY;;;;
According to RCF 6350 it should look like this:
ADR;TYPE=HOME:;;Post office box;Appartment or suite no;Street;City;State;Postal code;COUNTRY
Expected behavior
ADR property should respect RCF standard.
Actual behavior
Results in incompatibility (e.g. with KAddressBook) having the full address in just the Street field.
Screenshots/Screen recordings
No response
Additional information
No response
I was going to open a new issue titled "Addresses do not transfer when exporting/importing vcf" but found this open issue and I believe the issue centers around writing the address correctly. So if Fossify Contacts wrote the address to the vcf file correctly, I believe it would fix the issue. Im posting this here, instead of opening a new issue, hoping this is the proper way to bring attention to this bug.
Android 15 Fossify Contacts 1.4.0 (at both ends, exporting and importing. "Structured addresses" was never enabled) Installed from F-Droid
Steps: I migrated contacts to a new phone:
- Within Contacts on the old phone, I exported contacts to a vcf file (Kebab menu -> Settings -> Export contacts to a .vcf file).
- I transfered the vcf file to my new phone and imported it into Contacts. (Kebab menu -> Settings -> Import contacts from a .vcf file).
I did not notice until weeks later when needing someone's address, that none of the addresses from any of my contacts transferred to my new phone. I opened the vcf file in a text editor and noticed the address is not written to the file. This is a copy/paste of the address line from a vcf file created by Contacts: ADR;TYPE=HOME:;;;;;;
vCard specs are currently RFC 6350 (direct link to ADR info). You can also find a nice table of properties with examples on the vcard wikipedia page. The line should look like this: ADR;TYPE=home:PO box;Apt or suite number;street address;city;state;zip code;country Although it looks like Contacts is using ez-vcard to create the vcf file, so it may be a matter of Contacts sending the address to ez-vcard properly.
Side note about Structured Addresses: I see at some point "structured address" was added as an optional feature instead of simply cramming a full address into one line. I was not aware of this until searching the github about this bug. Having a second option for saving the address field is odd, the setting location is odd (it's not under normal app settings, it's under the contacts display menu. This appears to be more than a display setting and doesn't feel like it belongs here under a menu titled "Manage shown contact fields"). Given this issue with exporting/importing addresses, and this fix will probably involve either writing structured addressing to the vcf file or sending the structured addressing to ez-vcard, it would probably make more sense to have Structured Addresses as the default method within Contacts and drop the current default method of cramming the entire address into one line.