nextcloud / nextcloud/contacts

Merge feature shows inconsistent or incorrect conflict detection

Open
#4,921 7 comments 2 reactions 1 assignee View on GitHub

@GVodyanov is already working on this.

Since Dec 21, 2025.

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

Description

Describe the bug

When merging two contacts, the UI first displays "Contacts can be merged".
However, after clicking Merge contacts, conflict warnings appear unexpectedly — even when the differences seem straightforward, for example:

when both contacts have different phone numbers

when only one contact contains a nickname

sometimes the system reports differences but shows no visible conflict fields

In some cases, the UI states that the contacts differ, but no conflicts are displayed at all. The behavior appears inconsistent.

I suspect that during the merge process, data from one contact is copied into the other, and the comparison is performed again mid-merge. This could lead to incorrect or duplicate conflict detection. It may be related to a string/field comparison issue.

Steps to reproduce
  1. Go to 'Contacts'
  2. Click on avatarpicture of contact1 (one with Nickname)
  3. Click on avatarpicture of contact2 (without Nickname)
  4. Click on Merge Contacts
  5. Resolve Conflicts
  6. Scroll down
  7. Click on Merge contacts
  8. endless loading
Expected behavior
  • If "Contacts can be merged" is shown, the merge should proceed without unexpected conflicts.
  • Different fields should be clearly and correctly displayed as conflicts.
  • No phantom or invisible conflicts should appear.
  • No endless loading
Actual behavior

endless loading

Contact version

7.3.5

Operating system

Linux

PHP engine version

None

Web server

None

Database

None

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.