nextcloud / nextcloud/contacts

exported vCard phone number with ; or , is re-imported incorrect

Open
#1,297 16 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug dependencies feature: import
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

When a phone (or fax) number field consits of ; or , (used for pause and wait) it can be exported correct to a .vcf
However, to import the same file back to contacts creates a wrong entry.

Example:
Fax work: 205246;;,;
vCard export: TEL;TYPE="WORK,FAX":205246\;\;\,\; (what is correct according to the RFC)

reimport into contacts produces:
Fax work: 205246\;\;\,\;

Looks to me the parsing at import does not work correct

BTW: when synchronising with iOS, same issue happens when synching back from iPhone to NextCloud (this time, it's not an Apple ... feature ;-) )
......

To Reproduce
create a new contacts entry
enter a phone number and add ; and/or , to it
export to .vcf
open the exported .vcf and delete the UID identifier line; save it
import it into contacts
check the phone field

Expected behavior
phone number should show up like entered before

Actual behavior
the \ of the .vcf file are not parsed correct

Server configuration

Operating system: RaspBerry Buster

Nextcloud version: NextCloudPi 16.0.5

Contacts version: 3.16

Updated from an older Nextcloud or fresh install:
Updated

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the contacts import workflow described in the reproduction steps and compare its handling of escaped semicolons and commas with the exported .vcf example. Verify the behavior using a phone or fax number containing pauses or waits; done means importing the exported file restores the original number without displaying backslashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.