Contacts icon indicating copy to clipboard operation
Contacts copied to clipboard

[Bug] Can display, but not edit, (birth)dates from old phone

Open PhoenixIV opened this issue 1 year ago • 15 comments

Checklist

  • [X] I can reproduce the bug with the latest version given here.
  • [X] I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • [X] I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • [X] I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • [X] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • [X] This issue contains only one bug.
  • [X] I have read and understood the contribution guidelines.

Affected app version

1.1.0

Affected Android/Custom ROM version

Android 8.1.0 / LineageOS 15.1 AND Android 15 (GrapheneOS)

Affected device model

OnePlus ONE AND Pixel 8a

How did you install the app?

F-Droid / IzzyOnDroid

Steps to reproduce the bug

I switched from an old phone.

  1. Installed Fossify Contacts on both
  2. Exported on the old phone (only Fossify Contacts preserved contact image quality during export)
  3. Imported on new phone

Expected behavior

Birthdate also shows up when editing a contact

Actual behavior

Fossify contacts shows the correct birthday of contacts (even calculating the correct age). But when I click edit it suddenly disappears! As if there is no birthday set as soon as I enter edit mode.

This is true on my old and new phone.

This does not happen when I create a new contact. This does not happen when I export and import a single contact.

Screenshots/Screen recordings

Additional information

No response

PhoenixIV avatar Dec 30 '24 10:12 PhoenixIV

Please fill out all required fields in your bug report, not just add - if something's explicitly required.

Also, I have a few questions:

  1. "This is true on my old and new phone." - does it mean, that before exporting you had the same behavior on the old phone?
  2. From which contact source are you exporting contacts, and to which are you importing?
  3. Do you have CardDAV synchronization set on your new phone?

Aga-C avatar Dec 30 '24 11:12 Aga-C

Please fill out all required fields in your bug report

I am surprised by your request, as this is fully redundant information. I took one or two bug reports in my own projects. The required information is now added.

  1. Yes, on both phones the birthdays do not show up in edit mode
  2. The contacts were originally set up on my old phone in the default google app (Build-Version 1.7.21) that came with LineageOS. I exported the contacts from Fossify Contacts and imported them with Fossify Contacts.
  3. Yes. I added DAVx5 after deciding it will be easier to sync with my laptop than with .vcf backups

As the problem already exists on the old phone, the export and import could potentially be ignored.

PhoenixIV avatar Dec 30 '24 12:12 PhoenixIV

This issue becomes more convoluted: I just checked again and it seems only some contacts have this issue. Others don't.

I'd love to send you a data sample, as this is such an interesting bug. I just don't know how without exposing my whole address book.

If this only happens to me I am also fine with just setting up broken contacts again. I already tried deleting all Fossify App Data and starting again.

PhoenixIV avatar Dec 30 '24 12:12 PhoenixIV

I'd love to send you a data sample, as this is such an interesting bug. I just don't know how without exposing my whole address book.

VCF file is in a text format, so you can just send the contacts with this issue (entry starts with BEGIN:VCARD and ends with END:VCARD). If you anonymize the name and phone number (but leaving birthdays as they are), you can paste it here on GitHub.

The contacts were originally set up on my old phone in the default google app (Build-Version 1.7.21) that came with LineageOS.

As I understand, it wasn't synchronizing contacts with any account before adding DAVx5? This bug could happen because there were two instances of the same contact in two different contact sources, where one had a birthday set, the other doesn't.

Also, in Fossify Contacts, can you uncheck in Settings an option for merging duplicate contacts? Do you have only one instance of each contact?

Aga-C avatar Dec 30 '24 13:12 Aga-C

I just updated the original report with screenshots. Only then I noticed it was not only the birthdate, but also a second phone number field.

Editing other fields and saving the contact (e.g. change name from Henner to Henner2) preserved the bug: They were still not visible in edit view, but still in normal view.

I already had a look in the .vcf file. Nothing I saw. I removed all contacts but two. One which worked, one with the bug. When I imported them into the phone account (Not DAV) both worked.

Unfortunately when I then removed the duplicates via Fossify, it also deleted them in the DAV account. When I added them again to the DAV account the bug was also gone.

By the way: When I used google contacts on my new phone the same contact that bugged with fossify worked with the other contacts app.

This bug could happen because there were two instances of the same contact

I made sure the contacts only exist in one account on the new phone.

PhoenixIV avatar Dec 30 '24 13:12 PhoenixIV

I made sure the contacts only exist in one account on the new phone.

Telegram and Signal are also contact sources for Fossify Contacts. When you tap Edit, it opens the contact from the first source. It's possible that in your case, it turned on editing Signal or Telegram contact. If you still have this example from the screenshot, just scroll down a bit lower - it should show where the edited contact is stored. Is it your normal storage or Signal/Telegram?

Aga-C avatar Dec 30 '24 13:12 Aga-C

In case of my new phone it is always the DAV account. I always excluded all other accounts from view and re-checked.

I'd be fine with closing this ticket as it seems I am the only one with this behaviour. I can help myself with alternative solutions. In case someone ever experiences this again I am happy if this ticket can be found.

PhoenixIV avatar Dec 30 '24 21:12 PhoenixIV

I have the problem too. I always sync my contacts via DAVx5. If I view a contact the address is shown. If I edit, the address is missing. As @Aga-C said, if I scroll down, in my case WhatsApp is taken as contact source for editing and not the DAV Account. Is there a workaround or a setting for this?

leonp5 avatar Jan 03 '25 13:01 leonp5

@leonp5

 As @Aga-C said, if I scroll down, in my case WhatsApp is the taken as contact source for editing and not the DAV Account. Is there a workaround or a setting for this?

When viewing contact (not in the edit mode), at the bottom you can see all storages where the contact is saved. If you tap on any of them, you will enter the edit mode for this particular contact instance.

Aga-C avatar Jan 03 '25 13:01 Aga-C

Thank you @Aga-C 🙂

leonp5 avatar Jan 03 '25 13:01 leonp5

Now I am uncertain if I checked the source when I scrolled down in the edit screen. I am certain though that I disabled the display of all accounts except for DAV in the general setting.

PhoenixIV avatar Jan 03 '25 13:01 PhoenixIV

Probably the best solution for this issue is to change the behavior of the current edit button:

  • If the contact is stored in different sources than WhatsApp/Signal/etc., it shouldn't enter editing the messenger contact.
  • If the contact is only stored in a messenger, then edit it.
  • Behavior of editing the particular contact storage shouldn't be modified, only the edit for the whole merged contact.

There's also a similar request solving this problem differently, that may be done in the future: https://github.com/FossifyOrg/Contacts/issues/22.

Aga-C avatar Jan 03 '25 14:01 Aga-C

I hit this issue and found myself editing the WhatsApp contact. The work around I found is to scroll down and click on the name of the addressbook that you want to edit within the contact.

The fix I would see is firstly to have a default addressbook and that is the one that is edited as well as saved to, I believe there is a FR for a default already.

But as already suggested the linked request which would update all linked contacts would help where the main addressbook is edited but all linked contacts would only follow the name change so they stay linked but otherwise messenger contacts should be read only unless specifically edited

mattdale77 avatar Jan 29 '25 09:01 mattdale77

@Aga-C

Telegram and Signal are also contact sources for Fossify Contacts. When you tap Edit, it opens the contact from the first source.

in my case, I have 3 address books, sorted like the above in the contact/edit page:

  • Contacts (davx5 carddav)
  • Signal
  • WhatsApp

Touching the edit button results in always editing the last address book. In the example it's WhatsApp, but if I disable the WhatsApp address book, then it's Signal...

Nevertheless, if the entry has just one number, it's not easy to recognize that you are editing the wrong address book; since it is displayed at the bottom of all the fields, and you have to scroll down to see it.

Plus, if the phone number remains the same I do not see two different entries, so a user could be completely unaware of where the edit has been saved, assuming that WhatsApp and Signal save other fields. For instance, I can add a note to a Signal account, but will it be retrieved if I reinstall Signal? If not, this could be a risk of losing the data edited (note, address, etc) that has been put in WhatsApp or Signal address book

AnthillSudoku avatar Mar 29 '25 15:03 AnthillSudoku

The current behavior is indeed confusing. The contacts app should just ask the user to select the contact source when edit button is pressed. https://github.com/FossifyOrg/Phone/issues/73 is similar in this regard.

naveensingh avatar Mar 29 '25 16:03 naveensingh