nextcloud / nextcloud/contacts

Exported contacts from nextcloud creates multiple lines of PRODID in same element, which fails during Import

Open
#4,158 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Describe the bug

I am exporting my 78 Contacts from Account A and importing into account B. Most are imported however 2 failed.
During investigation of the logs, the 2 failed with: Validation error in vCard: PRODID MUST NOT appear more than once in a VCARD component

Steps to reproduce
1. Go into account A and export the contacts from the nextcloud
2. go into account B on the same server and import that just exported file
3. witness the error.
Expected behavior

all contacts are imported from the just exported file.

Actual behavior

Validation error in vCard: PRODID MUST NOT appear more than once in a VCARD component

the output in thee file from a working contact entry looks like:

BEGIN:VCARD
VERSION:4.0
PRODID:+//IDN bitfire.at//DAVx5/4.3.5.1-gplay ez-vcard/0.12.0
UID:104608ad-dfd8-47f4-a887-c78eebbb0074
FN:<REDACTED>
N:<REDACTED>
TEL;TYPE=cell:+<REDACTED>
REV:20230802T142130Z
END:VCARD

one of the 2 errornous entries:

BEGIN:VCARD
VERSION:3.0
VERSION:3.0
VERSION:3.0
VERSION:3.0
VERSION:3.0
PRODID:-//ownCloud//NONSGML Contacts 0.5.0.0//EN
PRODID:-//Sabre//Sabre VObject 3.4.7//EN
PRODID:-//ownCloud//NONSGML Contacts 0.5.0.0//EN
N:<REDACTED>
FN:<REDACTED>
TEL;TYPE=VOICE,CELL:+<REDACTED>
REV:2015-12-28T10:51:09+00:00
UID:1030bc3a-e24b-41ee-a2ea-26ed2cf9e32b
END:VCARD
Contact version

6.0.0

Operating system

ubuntu 22.04

PHP engine version

PHP 8.3

Web server

Apache (supported)

Database

MySQL

Additional info

No response

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

The issue names no source files or tests. Reproduce the Nextcloud account-to-account export/import with the supplied malformed vCards, then trace the import validation entry point; done means all exported contacts import without duplicate VERSION or PRODID validation errors.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.