signal icon indicating copy to clipboard operation
signal copied to clipboard

Username & photo are not being displayed

Open derritter88 opened this issue 3 years ago • 17 comments

I have set up the bridge and usually if I start a new conversation it only shows the phone number of the contact but not any name or a photo/thumbnail.

derritter88 avatar Nov 09 '21 14:11 derritter88

Same behavior came looking for other posts about this. I am not entirely familiar with the settings, not sure if the bridge->contact_list_names & displayname_preference is related to Signal itself or an association Matrix user identities with the same phone numbers. I have that as allow and first_name as the displayname_preference

Renamed the DM room it creates but would love to have the name of the person (and photo if possible).

kernelkaribou avatar Nov 17 '21 03:11 kernelkaribou

It sometimes takes an hour or two to sync profile pictures and usernames. There's also an issue in upstream signald about get_profile failing in certain unknown situations: https://gitlab.com/signald/signald/-/issues/236

sumnerevans avatar Nov 17 '21 04:11 sumnerevans

I have reset the whole bridge to see if I have broken the configuration including a new database. Unfortunately it does not solve the problem.

I am also using the Git version of the pip packages to use the latest possible version (recommended by tulir).

What is a strange behaviour for me: signald is downloading the userphotos and can also display information of the users but the mautrix-signal bridge seems to ignore this. I have also added the bridge user the signald and from a Linux perspective it should be able to read any files within the signald folders

derritter88 avatar Nov 17 '21 07:11 derritter88

@sumnerevans What is the logic of mautrix-signal? If get_profile does not contain all data in the beginning, will it check it afterwards again or will it not?

I had the issue that in the beginning not many data were provided but now I would see a display name + a user photo which is not being used by the bridge.

derritter88 avatar Nov 18 '21 20:11 derritter88

At least on master, get_profile is called every hour, but with async of true which will return immediately, and may have incomplete data. However, the next call to get_profile (which will happen about an hour later) will get the updated info.

sumnerevans avatar Nov 24 '21 22:11 sumnerevans

That's interessting as the bridge still does not show any updated information (profile picture/name) - while get_profile shows me that there is a name & a photo available by signald

derritter88 avatar Nov 25 '21 05:11 derritter88

I have tried to set the parameter to false -> https://github.com/mautrix/signal/blob/bb95a4120dd90658b539dc02b7a3a31e8a670e75/mausignald/signald.py#L250

But still not working.

Which logic is parsing the signal user photo/name and putting it to the Matrix environment?

derritter88 avatar Nov 25 '21 06:11 derritter88

I'm experiencing a similar problem - some signal contacts immediately show up with names and avatar, sometimes they will be missing name and avatar initially but will receive them at a later point, but sometimes it just gets stuck at their phone number and no avatar.

When checking signald however, it has received an avatar file as well as the profile name for those contacts.

Jaffex avatar Dec 05 '21 12:12 Jaffex

I have the same problem.

As far as I can tell from the code, the problem might be with signal peers that are not contacts:

I use signald with mautrix-signal as my primary Signal client and currently don't have any other Signal client. Thus, I don't have preexisting contacts. And it seems that private Signal chats are not added to the Signal contact list either: I have two private chats, one initiated by the peer, one initiated by me, via mautrix-signal's pm command. However, raw --user v1.list_contacts {} still returns { "profiles": [] }.

And, if I understand correctly, only the puppets for the contacts returned by list_contacts are updated during periodic sync and sync command: https://github.com/mautrix/signal/blob/aa5f5ffc5bd0fd4e1785eda8fc51a89af9fc7900/mautrix_signal/user.py#L307

While the "asnyc" behaviour above explains, why the profile data is missing initially, this would explain, why the data is not updated later on, during periodic sync or with the sync command.

Now, the question is: Should my private chats automatically appear in list_contacts? Is it a bug of mautrix-signal or signald that this does not happen? Or should mautrix-signal consider existing private chats for profile data sync, independently from/in addition to signal contacts?

(mautrix-signal 0.2.1 & signald 0.15.0-33-986558ee)

mhthies avatar Dec 25 '21 17:12 mhthies

I upgraded mautrix-signal and signald to master, and the issue appears here as well, even with contact_list_names: prefer. Additionally, groups and chats create no portals except I send pm +number, but the names still remain "number (Signal)". The issue occors with one user with the bridge as primary device and another with a linked device.

bjo81 avatar Dec 30 '21 22:12 bjo81

have the same Problem, someone wrote me one Signal, but i don´t know where is the Person. i got only +49Number(Signal)

Happyfeet01 avatar Dec 31 '21 07:12 Happyfeet01

Same problem here - bridge registered as primary device and no contacts.

jaylik avatar Dec 31 '21 15:12 jaylik

I'm having the same problem digging a bit into it, it seems that signald does not respond with all known contacts when querying v1.list_contacts, it only responds with my "local" user.

Though, if i do v1.get_profile, i do get the right results.

ShadowJonathan avatar Jan 11 '22 19:01 ShadowJonathan

I logged in and out, this seems to fix some users, but it didn't fix other users i would've wanted their profile pics for. v1.list_contacts lists a lot more now, but not the respective users im actually talking with. v1.get_profile did respond correctly though.

ShadowJonathan avatar Jan 11 '22 19:01 ShadowJonathan

As a user workaround for this is to run sync command after a new DM is started. The user sets display name and avatar after that.

Can't we just run sync automatically after a new DM is started?

vranki avatar Jun 01 '22 17:06 vranki

That is already attempted afaik, but it doesn't necessarily help, because the profile doesn't become available until the respective user has allowed you to see it. That usually happens after they reply to your first message or accept your group invitation. Mautrix-signal would have to check for that. If the DM is created because of them sending a message first, it should work (and probably already does). What could be done is to refresh the profile when we don't yet have a profile and receive a message. But I suppose that's also difficult with partial profile data.

maltee1 avatar Aug 23 '22 05:08 maltee1

Does this also affect the Discord bridge? None of my contacts have names, even when their profile pictures have loaded.

Hana2736 avatar Jun 13 '23 05:06 Hana2736