PSA: Fossify Contacts backup or sync may silently lose some event date fields from your contacts
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
The payload names no source files, so start by reproducing the bug: create a contact with two birthdays, two anniversaries and an "other" event date, then export it to vCard and check which fields survive. Read the linked issues #85, #145, #154 and #187 to see whether the vCard date-label mapping is already under discussion. Done means the exported vCard keeps every event date, or the maintainers agree on what the spec allows and the app reports the dropped fields.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Checklist
- I can reproduce the bug with the latest version given here.
- I made sure that there are no existing issues - open or closed - to which I could contribute my information.
- I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
- I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
- I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
- This issue contains only one bug.
- I have read and understood the contribution guidelines.
Affected app version
1.6.0
Affected Android/Custom ROM version
GrapheneOS 2026040800 (Android 16)
Affected device model
Google Pixel
How did you install the app?
Google Play Store
Steps to reproduce the bug
- Add a new contact with more than one birthday and/or more than one anniversary and/or one or more "other" event dates
- Export the contact or use the backup function
OR
- Synchronise via DAVx5
Expected behavior
All fields should be stored when exporting the contact to vCard.
All fields should be stored when synchronising/saving to a CardDAV server.
Actual behavior
When exporting / backing up to a vCard file, Fossify Contacts removes ALL events entered as "other". They're gone. That's it.
When synchronising to a CardDAV server via DAVx5 only one birthday and one anniversary is stored. All other birthdays and anniversaries in that contact are discarded. They stay stored on the local storage (the Android Address Book), but not in the CardDAV server. (Maybe multiple birthday and multiple anniversary fields are not allowed by the vCard spec?) I've tested with vCard v3.0 (Nextcloud Contacts and Radicale) and v4.0 (Radicale).
Screenshots/Screen recordings
Not provided
Additional information
I think this deserves some attention as data loss is likely if you don't have a backup of BOTH the CardDAV server and Fossify Contacts export/backup.
The issue is probably linked to:
Support all NextCloud-supported contact attributes. #85
Add "Custom" label to Dates in a contact entry #154
Support Import of Apple & Google's vCard v.3.0 Extension, itemN.X-ABLabel. Fossify Supports these as "Custom" #187
export does not export date field "other" #145
I will switch to the stock GrapheneOS Contacts app for now. It only allows adding a single birthday and a single anniversary, and multiple "other" and "custom" (name them yourself) event date fields. These seem to get synchronised correctly via DAVx5, but exporting the contacts directly from that app drops a lot of info too as it uses vCard v2.1
Edit: I think it's worth looking at https://github.com/Goodwy/Contacts. Their export system works as expected however they also allow multiple "Birthday" and "Anniversary" fields when adding/editing contacts which the vCard standard doesn't allow.
So: TL;DR: I use the stock GrapheneOS contacts app to add, edit and browse contacts and I use Right Contacts to automatically backup my contacts to correctly formatted vCard v4.0 files but don't use that app for anything else. Contacts are synced via DAVx5 to a Radicale server that supports vCard v4.0 (currently that requires a patch).
- Lenguaje dominante
- Kotlin
- Estrellas
- 917
- Forks
- 73
- Merge medio
- 5 d 8 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FossifyOrg/Contacts
-
feature request needs triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
FossifyOrg/Contacts#176 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
bug needs triage
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
FossifyOrg/Contacts#618 ·
Los mantenedores suelen responder en 4 días
-
feature request needs triage
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
FossifyOrg/Contacts#614 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
New field: IBANAbiertofeature request needs triage
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
FossifyOrg/Contacts#613 ·
Los mantenedores suelen responder en 4 días
-
bug needs triage
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
FossifyOrg/Contacts#612 · 5 comentarios · 1 reacción ·
Los mantenedores suelen responder en 4 días
Todos los issues de FossifyOrg/Contacts
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
fix: retain the best partial noise-correction solutionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
world-federation-of-advertisers/cross-media-measurement#4653 ·
Los mantenedores suelen responder en 1 día
-
enhancement help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
kabirvashisht4-glitch/Vet#22 ·
-
documentation good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 85/100
djazairdev/wilayas#23 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
lysine-dev/okhttp#9788 ·
Los mantenedores suelen responder en 1 día