nextcloud / nextcloud/contacts

Drag & Drop assignment of Contacts only works reliably when marking the contact first.

Open
#5,244 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Hi NC Fam!

I found a weird behaviour that "most of the times" when dragging and dropping contacts, without priory highlighting of the entry.

I was able to reproduce this on Brave / Chromium engine, Safari and Firefox. Seems a global issue, not browser-related

Steps to reproduce
  1. Go to 'Contacts'
  2. Have a group you want to add users to
  3. go to "ungrouped Contacts', directly drag and drop users into the new group
  4. It seems like the change is committed, however, when reloading, most of the contacts added to the group won't be stored.
Expected behavior

Contacts should be saved properly, as the UI indicates.

Actual behavior

Contacts are displayed in the group until you reload. Changes then are gone.

Contact version

8.3.7

Operating system

osx

PHP engine version

PHP 8.3

Web server

Apache (supported)

Database

PostgreSQL

Additional info

As this is easier to understand by seeing the behaviour, ive created a short screencast demonstrating.

https://drive.google.com/file/d/1xTpLw7RYyQy4LNn5jiOgd-55DM1vNAH_/view?usp=sharing

The Event that is "NOT" Triggered is the PUT Event with the VCF on https://nc.horst/remote.php/dav/addressbooks/users/admin/contacts/[contactId.vcf]

Truncated Curl (Cookies, Tokens anyonymized)
curl 'https://nc.horst/remote.php/dav/addressbooks/users/admin/contacts/08EA2FDB-18FD-44FA-A617-C5BF8E1CEC99.vcf' \ -X 'PUT' \ -H 'accept: application/json, text/plain, */*' \ -H 'accept-language: de-DE,de;q=0.7' \ -H 'cache-control: no-cache' \ -H 'content-type: text/vcard; charset=UTF-8; charset=UTF-8' \ -b 'oc_sessionPassphrase=b8...co; __Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true; o....d9; nc_username=admin; nc_token=37....qF; nc_session_id=19....d9' \ -H 'depth: 0' \ -H 'if-match: "c...."' \ -H 'origin: https://nc.horst' \ -H 'pragma: no-cache' \ -H 'priority: u=1, i' \ -H 'requesttoken: iq....arU=' \ -H 'sec-ch-ua: "Chromium";v="146", "Not-A.Brand";v="24", "Brave";v="146"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "macOS"' \ -H 'sec-fetch-dest: empty' \ -H 'sec-fetch-mode: cors' \ -H 'sec-fetch-site: same-origin' \ -H 'sec-gpc: 1' \ -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36' \ -H 'x-requested-with: XMLHttpRequest, XMLHttpRequest' \ --data-raw $'BEGIN:VCARD\r\nVERSION:3.0\r\nFN:Hildegard Hopfensmoothie\r\nN:Hopfensmoothie;Hildegard;;;\r\nEMAIL;TYPE=INTERNET:hildi@brauerei-wellness.test\r\nTEL;TYPE=WORK:0800-BIER-HER\r\nORG:Institut für angewandtes Vorglühen\r\nTITLE:Chief Hydration Officer\r\nUID:e278ca7c-ac50-4599-a6c6-48e16bdbfd46\r\nREV:20260407T0811Z\r\nCATEGORIES:World Domination Group\r\nEND:VCARD'

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 by reproducing the Contacts drag-and-drop flow described in the issue and monitor requests to the CardDAV contact URL. Verify that moving an unhighlighted contact triggers the PUT request and that the assignment remains after reloading; the issue provides no source file or test name.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.