nextcloud / nextcloud/contacts

vcf file import breaks addressbook

Open
#2,797 13 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug feature: contacts
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

Describe the bug

Note: reproduce in test system to avoid data corruption.

  1. Create addressbook in Nextcloud/Contacts with 1-2 test contacts.
  2. Extract b.vcf file from b.zip and import this vcs file to created addressbook.
  3. Address book won't display entries any more and one cannot add new contacts to addressbook.

Some chars in b.vcf have broken encoding but nc should handle it and should not break access to whole addressbook.
Thunderbird allows one to import such vcf file and displays both imported contacts without problems.

Tested in nc v24.0.2 and contacts v4.1.1. Similar problem was notices in earlier versions (v23) also.

Steps to reproduce

As above.

Expected behavior

Nc should display imported contacts (with broken chars probably similar to Thunderbid) and addressbook should be accessible.

Actual behavior

Addressbook is empty in UI (database contains imported contacts). Adding new contacts in UI does not work.

Contact version

v4.1.1

Operating system

Debian 11

PHP engine version

PHP 7.4

Web server

Apache (supported)

Database

MariaDB

Operating system

Debian 11

List of activated Apps
n/a
Nextcloud Signing status
n/a
Configuration report
n/a
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

Reproduce the import using the b.vcf file from b.zip in a test addressbook with one or two contacts, following the listed Nextcloud/Contacts steps. Check why contacts with broken encoding leave the addressbook empty and prevent new contacts from being added, then verify that the imported contacts remain accessible and the addressbook accepts new entries.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.