nextcloud / nextcloud/contacts
Import fails for Apple (iOS) vCard format
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 642
- Forks
- 220
- Avg merge
- 14h 39m
- Merged PRs (30d)
- 51
Description
Describe the bug
Apple uses additional fields to provide a more detailed contact info. Ideally these fields could be mapped to Nextcloud so all information is preserved. Alternatively these fields could be sanitized.
Here are the troublesome fields:
X-MS-IMADDRESS;OTHER:
ADR;<HOME/WORK/OTHER>:
EMAIL;<WORK/OTHER>:
TEL;<PREF/OTHER/VOICE>;<MOBILE/VOICE/HOME>:
URL;OTHER:
Steps to reproduce
- Connect iPhone to PC
- Use 3uTools to export contacts
- Try to import the contacts to Nextcloud Contacts
- See error for contacts with the aforementioned attributes
Expected behavior
Handle the import gracefully.
Actual behavior
Import fails for contacts with aforementioned attributes.
Contact version
6.1.0
Operating system
Debian 12
PHP engine version
PHP 8.3
Web server
Nginx
Database
MariaDB
Additional info
According to https://www.rfc-editor.org/rfc/rfc6350 only the X-name attributes are not official and should not be used. Attributes like "TEL;VALUE=uri;PREF=1;TYPE="voice,home":tel:+1-555-555-5555;ext=5555" and "TEL;VALUE=uri;TYPE=home:tel:+33-01-23-45-67" are explicitly mentioned in the RFC and should be supported by the Contacts app.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with an iOS/3uTools-exported contact containing the listed X-name and TEL, ADR, EMAIL, and URL attributes, then review the Contacts vCard import handling against RFC 6350. Done means these contacts import without an error while preserving supported fields or sanitizing unsupported ones.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100