Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Names of known contacts removed after they uninstalled Signal #13476

Open
4 tasks done
bepaald opened this issue Mar 16, 2024 · 1 comment
Open
4 tasks done

Names of known contacts removed after they uninstalled Signal #13476

bepaald opened this issue Mar 16, 2024 · 1 comment

Comments

@bepaald
Copy link

bepaald commented Mar 16, 2024


Bug description

I have various chats with contacts in my contact list that have since uninstalled Signal. These contacts are still in my phone contact list with name and number. Suddenly, they are all shown as "Deleted contact" instead of by their name as it appears in the system contacts list.

Funny thing is, when I extract a backup and inspect the SQL database, it is filled with all contacts from my phone's contact list (even if they are not ­— and have never been — on Signal) including phone numbers and names filled in. Obviously the contacts that still have Signal, also have their names filled in (Signal profile names or system names). But those few that used to have Signal, but have left have had their name(s) removed. Before:

$ SELECT _id, e164, aci, pni, system_given_name, system_family_name, system_joined_name FROM recipient WHERE _id = 6;
               _id = 6
              e164 = +316154xxxxx
               aci = 60f2xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
               pni = PNI:f562xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 system_given_name = Mxxx
system_family_name = Pxxxxxxx
system_joined_name = Mxxx Pxxxxxxx

After:

$ SELECT _id, e164, aci, pni, system_given_name, system_family_name, system_joined_name FROM recipient WHERE _id = 6;
               _id = 6
              e164 = +316154xxxxx
               aci = 60f2xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
               pni = PNI:f562xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 system_given_name = 
system_family_name = 
system_joined_name =

The first result is from a backup from a month ago, the second is from last week. Obviously, there's a lot more columns in this table, but all others are unchanged between the two versions as far as I can tell. Note again, these are contacts that are still in my phone's system contact list.

Actual result: I now have multiple chats titled "Deleted account" in my chat list.
Expected result: I expect the names of known contacts to be shown in the chat list. Of course, I do not expect to be able to message these people (through Signal), but up until a week or so ago, the bottom of the chat simply stated "Invite Mxxx Pxxxxxxxx to Signal to keep the conversation here", that has now changed into "Invite Deleted account to Signal to keep the conversation here".

Screenshots

signal-2024-03-16-144114

Device info

Device: Samsung Galaxy S10e
Android version: 12
Signal version: 7.0.2

Thanks!

@bepaald
Copy link
Author

bepaald commented Mar 16, 2024

Extra info: looking closer at the contacts who have lost their names, it seems they all still have registered = 1 (= yes) in the database. So I suppose they are technically still 'on Signal'? The contacts that have removed Signal, but retained their names (from the system list) are the ones with registered = 2 (= no). So I suppose that's the reason? But I if they are registered, I don't understand why Signal asks me to invite them in the chat instead of offering to just send a message? Is there a distinction between being registered and having the app installed/being active on it?

So, as far as I can tell

  • registered, active contacts are shown by system_joined_name (if available)
  • unregistered, inactive contacts are shown by system_joined_name (if available)
  • registered, inactive contacts lose their system name and are shown by signal_profile_name, or "Deleted contact" if the profile name is empty.

Either way, I think the system contact name should be used for all contacts if available, whether they are registered or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant