nextcloud / nextcloud/server

Address book / CardDAV federation: User account deletion not considered

Open
#46,220 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 27-feedback 28-feedback 29-feedback 30-feedback bug feature: carddav feature: federation
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Steps to reproduce

  1. Set up CardDAV federation for Nextcloud A and Nextcloud B
  2. A&B: Run dav:sync-system-addressbook and federation:sync-addressbooks
  3. Check via contacts or thunderbird that we have a copy of the remote address book
  4. B: Add a new user bob
  5. A&B: Run dav:sync-system-addressbook and federation:sync-addressbooks
  6. A: Check that bob from B is there
  7. B: Delete bob
  8. A&B: Run dav:sync-system-addressbook and federation:sync-addressbooks
  9. A: Bob's still there

https://github.com/nextcloud/server/blob/beececf66068f57c416225efcde9b44ce5c2e835/apps/dav/lib/CardDAV/SystemAddressbook.php#L241-L272

  • getChangesForAddressBook does include the deleted user
  • The deleted element is not processed

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 in apps/dav/lib/CardDAV/SystemAddressbook.php, especially getChangesForAddressBook and the deleted-element processing described in the issue. Reproduce the sequence with dav:sync-system-addressbook and federation:sync-addressbooks across two Nextcloud instances. Done means a user deleted on B is removed from A's federated address book after synchronization.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.