nextcloud / nextcloud/contacts

Contact has 161 MB because of (automated) social media avatar

Open
#2,743 18 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug feature: contacts feature: social
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

Describe the bug

I noticed out of memory errors on my phone related to DavX5 synchronization (Nextcloud <-> Android). After digging around for a few hours, I saw that one of my Nextcloud contacts has 161MB because of an avatar that was downloaded automatically. The VCF file shows

PHOTO;ENCODING=B;TYPE=PNG;VALUE=BINARY:iVBORw0KGgoAAAANSUhEUgAAAtAAAALQCAYA
 AAC5V0ecAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR42sy92ZIkObIldhSAmW+RGblU1n

and then endless lines of photo data.

Has this been an issue for other users? Did you already encounter such a problem?

Thanks for looking into this!

Steps to reproduce

I didn't do anything special. Just added the contact a while ago. (Email, and name).

Expected behavior

Avatars are small.

Actual behavior

Avatar has 161MB.

Contact version

No response

Operating system

No response

PHP engine version

No response

Web server

No response

Database

No response

Operating system

No response

List of activated Apps
Contacts.
Nextcloud Signing status

No response

Configuration report

No response

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.

Research direction

Start with the Contacts app's generated VCF data, especially the PHOTO;ENCODING=B;TYPE=PNG;VALUE=BINARY field, and reproduce synchronization with the affected Android client if possible. Trace how the avatar is obtained and written to the contact, then verify that synchronization no longer produces an unexpectedly large avatar or out-of-memory failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, javascript
Domain
backend, data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.