Skip to content

Feat/link faces to contacts - #1579

Closed
Luctia wants to merge 3 commits into
nextcloud:mainfrom
Luctia:feat/link-faces-to-contacts
Closed

Luctia wants to merge 3 commits into
nextcloud:mainfrom
Luctia:feat/link-faces-to-contacts

Conversation

@Luctia

@Luctia Luctia commented Oct 21, 2026

Copy link
Copy Markdown

馃 AI (if applicable)

  • The content of this PR was partly or fully generated using AI (N/A)

Face clusters can be linked to a contact of one of the user's address books,
by hand or by a scheduled job that compares the photos of the contacts with
the clusters of the user. A cluster is only linked automatically when its
photo matches exactly one cluster and no other contact matches that cluster;
links made or removed by the user are never changed automatically. Unnamed
clusters take the name of the contact they are linked to.

An OCS API lets the Photos and Contacts apps search contacts, link and unlink
people, list and crop the faces of a person, and use a face as the photo of
the linked contact. The link is also exposed as a WebDAV property of the
faces collection, and a capability announces the integration.

Contact photos are analyzed with the built-in face classifier, so automatic
linking is only available in that mode; the TaskProcessing backend only
accepts files of the user.

Assisted-by: Claude Code:claude-fable-5-1
Assisted-by: Claude Code:claude-fable-5-1
The admin switch for automatic linking was not read from the initial state,
so it always showed as off. Address book URIs are now also accepted the way
the Contacts app spells them in DAV hrefs, and the link to a contact uses that
spelling. Structured names are assembled in the usual order when a contact
has no formatted name, a contact that cannot be JSON encoded no longer breaks
the listing of people, and setting a contact photo rejects a half-specified
contact instead of falling back to the linked one.

Assisted-by: Claude Code:claude-fable-5-1
@Luctia Luctia closed this Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant