nextcloud / nextcloud/contacts

Nextcloud serves VCard in version 3.0 even if the source is 4.0

Open
#4,038 19 comments 10 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug

I have problems with the importing of VCards over the web-interface. I import the following VCard:

 BEGIN:VCARD
 VERSION:4.0
 FN:A4
 N:A4;;;;
 ANNIVERSARY:20181206
 END:VCARD

The anniversary is not shown in the web-interface. After exporting the same VCard I get the following VCard:

BEGIN:VCARD
VERSION:3.0
PRODID:-//Sabre//Sabre VObject 4.1.2//EN
FN:A4
N:A4;;;;
ITEM1.X-ABDATE;VALUE=DATE-AND-OR-TIME:20181206
ITEM1.X-ABLABEL:_$!<Anniversary>!$_
X-ANNIVERSARY;VALUE=DATE-AND-OR-TIME:20181206
UID:cf9b96df-b1ad-4744-9854-b16a9a565efa
END:VCARD

The exported VCard is in version 3.0. Do you not support VCard version 4.0?

After that, I test to importing the same VCard, but with the version 3.0:

 BEGIN:VCARD
 VERSION:3.0
 FN:A3
 N:A3;;;;
 ANNIVERSARY:20181206
 END:VCARD

The anniversary is shown on the web-interface, and also present in the export:

BEGIN:VCARD
VERSION:3.0
FN:A3
N:A3;;;;
ANNIVERSARY:20181206
UID:567f7dd2-ecc2-4ada-943d-becbf351a2f0
END:VCARD

The confusing is, that VCard in 3.0 version do not support anniversary. So the import of 4.0 with anniversary not work as expected because the import must contain the anniversary tag. The import of 3.0 with anniversary should not contain anniversary, but it does. At last I habe expected, that the exported VCard is in the 4.0 version.

Server configuration

Operating system: Ubuntu 18.04 LTS
Web server: Apache
Database: MariaDB
PHP version: 7.2
Nextcloud version: 14.0.4
Contacts version: 2.1.8

Updated from an older Nextcloud or fresh install:
Upgraded from 14.0.3 (this was the first installation).

Signing status:
No errors have been found.

Client configuration

Browser: Firefox 63.0.3 (64-Bit)

Operating system: Windows 10

CardDAV-clients: Nextcloud Web-Interface


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

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 at the web-interface VCard import and export entry points and compare the supplied VERSION 3.0 and 4.0 cases, especially how ANNIVERSARY is represented. Reproduce both imports with the examples in the issue, then verify that the anniversary is preserved and that the exported version and fields follow the intended VCard behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 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.