Closed ilmotta closed 3 days ago
hi @ilmotta, Thank you very much for creating this issue. https://github.com/status-im/status-mobile/issues/20431 is also caused by the same problem, missing contact data.
So I was wondering how can we fix this issue. We do have a buildContact
API in status-go which returns contact with some data like name as short public key with ellipses and ring etc.
We call this endpoint when we open the profile of any of the above users, and a contact is returned from status-go but it does not persist. So after restart only the public key is shown again. Is this bug and it supposed to persist? And what will be the drawback and performance effect of persisting so many contacts like for group/community members(because we are already storing some of them)?
Should we call build contact for every item/every time in this list? Or do we have some client-side function that will give us this data (ring, name), etc? btw, I am not sure how desktop fixes this. (maybe some client side function that returns name and ring)
@cammellos what do you suggest?
@Parveshdhull Name if it's not there, it's not available. We would not be pulling this info from waku since it would be too expensive for each users. Ring should come from the media server and it's solely based on the public key, so that should be available regardless and I think we can fix this issue. We should also be able to convert the keys, status-go has some endpoints to do that, albeit they might be synchronous and could be hanging the JS thread
Thanks for picking this up @Parveshdhull. As mentioned in the issue's description, it would be good to find out from a desktop dev why the list of members in desktop doesn't have as many missing names as in mobile. Not a blocker for us to make progress here, but at least to know what they do differently and if we could do the same.
at least to know what they do differently
Hi @ilmotta, It seems desktop uses 3 random words name as fallback. (In 2.29.0)
It seems desktop uses 3 random words name as fallback. (In 2.29.0)
That makes sense @Parveshdhull 👍🏼
I verified again on the same desktop version I used before (2.29) and the member name I shared in the PR description no longer is shown as a compressed key. But there's a difference, the account I used a few days ago no longer worked and got locked out due to a crash after login, so I restored again the account, found the member again in the Status community, but this time it appears with the 3-word name fallback.
It seems that the fallback is the 3-word name, but there's still a chance that there's no information about the contact except their public key, so the very last fallback when the 3-word name doesn't exist is to simply use the compressed key. At least this is what we are seeing based on the screenshots below.
After starting from scratch and restoring, the same member appears as:
Bug Report
Problem
The community channel members' list may contain contacts where no data exists except their public key. For example, in the Status community channel
#general
, there are around 55 such contacts out of ~220 in total.Expected Behavior
We would like to display a better fallback when members (contacts) don't have any associated information, except their public key. We have verified that this is a technical limitation and that there's nothing we can do.
We can at least mimic what the desktop app does:
NOTE: Consider investigating why the desktop app doesn't suffer from the same problem as mobile. What are we doing differently?
Actual Behavior
As you can see below, contacts with only their public key available are shown with empty avatars (using the profile's customization color as fallback) and the name section is empty.
Reproduction
Additional Information