Skip to content

feat(contacts): show all contact information in the details - #3856

Open
tammi-23 wants to merge 2 commits into
feat/contacts-editfrom
feat/contacts-details
Open

tammi-23 wants to merge 2 commits into
feat/contacts-editfrom
feat/contacts-details

Conversation

@tammi-23

Copy link
Copy Markdown
Contributor

Description

Shows all common contact information in the contact details, so data synced from other clients (CardDAV, imports) is no longer hidden:

  • Emails, phone numbers and addresses show their type (Private / Work / Mobile) instead of a generic label.
  • New "Online services" section (e.g. website, messenger).
  • The contact photo is shown in the header instead of the initials, if available. Photos are loaded from the groupware blob store or inline data: URIs. Remote photo URLs are deliberately not loaded, as that would tell third parties that the contact has been viewed.
  • All organizations (with departments) and titles / roles are shown, not only the first one.
  • Addresses are formatted in multiple lines (street, postal code and city, region, country).

Implementation notes:

  • Building the sections moved from ContactDetailsContent.vue to useContactDetailSections to keep the component small; the photo handling lives in useContactPhoto.
  • OnlineServiceSchema was missing uri.

This PR is based on #3855 (edit contacts).

Related Issue

How Has This Been Tested?

  • test environment: local docker dev stack, OpenCloud built from groupware (with the local patches listed in Contacts MVP #3844), Stalwart 0.16.12, Chrome
  • test case 1: Contact with private and work email, work and mobile phone, private address with countryCode, website, organization with department and job title → all values shown with their type; address in multiple lines
  • test case 2: Contact with a photo (media with kind: photo, data URI) → photo shown in the header
  • test case 3: Contact without photo → initials as before
  • test case 4: unit tests for the sections (labels, address formatting, online services, multiple organizations / titles, empty rows) and the photo (data URI, blob store, remote URI ignored, other media kinds ignored)
  • test case 5: pnpm check:types, pnpm lint, pnpm format:check

Types of changes

  • Bugfix
  • Enhancement (a change that doesn't break existing code or deployments)
  • Breaking change (a modification that affects current functionality)
  • Technical debt (addressing code that needs refactoring or improvements)
  • Tests (adding or improving tests)
  • Documentation (updates or additions to documentation)
  • Maintenance (like dependency updates or tooling adjustments)

Show the type of emails, phone numbers and addresses, online services, the contact photo, all organizations and titles, and format addresses in multiple lines.
@tammi-23
tammi-23 force-pushed the feat/contacts-details branch from 0e5e14f to f5175b9 Compare October 23, 2026 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant