nextcloud / nextcloud/contacts
Contact has 161 MB because of (automated) social media avatar
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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