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

Can't use "People" with people not in Contacts #1104

Closed
dancojocaru2000 opened this issue May 7, 2019 · 20 comments
Closed

Can't use "People" with people not in Contacts #1104

dancojocaru2000 opened this issue May 7, 2019 · 20 comments

Comments

@dancojocaru2000
Copy link

Hey there!

I am noticing that Unigram only syncs people who's contacts I already have added in Windows' contacts (or those with phone number, can't precisely figure out).

Therefore, most people who I only have added by their username cannot be added in "People" in the task bar.

Can this be solved?

@FrayxRulez
Copy link
Collaborator

You can’t add users as contacts by only using their usernames on Telegram, you need to save their phone numbers to. Therefore this is the intended behavior.

@dancojocaru2000
Copy link
Author

Pretty oddly designed intended behavior.

As an example, Quarrel, an UWP Discord client, syncs all Discord friends with Windows contacts so I can use them in the People bar.

Why can't Unigram do the same with people using only usernames too, based on them being in the chats list?

@FrayxRulez
Copy link
Collaborator

Because as I said those aren’t your friends, they are just people you chat with. They aren’t in your Telegram contacts list, consequently they can’t be synced with your Windows contacts.

@FrayxRulez
Copy link
Collaborator

Chat list isn’t designed to be synced, you might have 5000 chats, but just a few of them loaded into the app.

Contacts instead are technically designed to be synced locally.

@dancojocaru2000
Copy link
Author

The problem is that there is no mechanism to add people to Telegram contacts based on their username. I don't want to share my phone number with everybody. (You can doubt my definition of friends based on this 🤷‍♂).

Is there any place to bring this up to Telegram?

@FrayxRulez
Copy link
Collaborator

I was just referring to the technical definition of friends 😊

I’m quite sure a lot of people reported this to Telegram and that they’re aware of this. You can still try to reach them out on Twitter.

@dancojocaru2000
Copy link
Author

There's one thing being aware, there's another doing something about it.

It seems like such a simple thing yet Telegram is almost never transparent about things. They just pop up around once a month and "Hey, look, we did stuff!". There's no real way to reach them like a ticket system or something like that. It's quite frustrating at times.

@FrayxRulez
Copy link
Collaborator

I’m not sure a ticket is the right place where to discuss about this, but I believe this is simply how big services work, at least judging from my professional experience.

@dancojocaru2000
Copy link
Author

dancojocaru2000 commented May 7, 2019

Not really. I personally don't like Discord as a company but they have support and a feature request page where users upvote ideas and stuff. It's not that uncommon to find these days.

@dancojocaru2000
Copy link
Author

I mean, don't get me wrong, many services don't. But wasn't Telegram supposed to be the different one? The one that doesn't act like all the other corporations do?

@MarcAnt01
Copy link
Collaborator

You are off topic, talking about a general topic in the ticket of an unofficial client. To ping them, reach out to them on Twitter.

@ivucica
Copy link

ivucica commented Sep 8, 2019

Can this be reopened @MarcAnt01 @FrayxRulez?

Since Telegram has a concept of an addressbook that doesn't require uploading all my contacts, I've added about 10 people to this addressbook. These are the only contacts that Telegram backend is aware I have.

Right now I'm blocking Unigram from all access to contacts so it doesn't actually upload the contacts to Telegram backends. (Same applies to 'official' Telegram apps on iOS and Android.)

I'd like to use Unigram with My People integration, without uploading all Windows contacts into Telegram. Can something be done to expose Telegram's addressbook to Windows -- but to also not pull in contacts from Windows into Telegram?

@ivucica
Copy link

ivucica commented Jan 1, 2020

Friendly ping @MarcAnt01 @FrayxRulez. Telegram is one of the rare modern IM clients I use, and deeper integration of its phone number-based addressbook (the one that all clients -- including Unigram -- are aware of) into Windows would be great.

Syncing is not something I want to do. All contacts I want Telegram to be aware of have manually been added to its addressbook using the Android client.

Note, this people-integration-without-syncing is not the same as 'adding a person to addressbook by username' (I mentioned this in #1202 (comment), on an issue which was closed).

@MarcAnt01
Copy link
Collaborator

Well, again it’s not thought to be used with non-contacts (Windows ones). Anyway nowadays Telegram added the possibility to add people to Telegram contacts so maybe @FrayxRulez could consider reopening this issue, but I highly doubt

@ivucica
Copy link

ivucica commented Jan 2, 2020

I do want to merge Telegram addressbook contacts with my Windows addressbook contacts -- I just don't want to upload the entire Windows addressbook to Telegram.

Because the Windows addressbook is my Google addressbook, and contains 1000+ contacts.

The reason I use Telegram is because it maintains its own addressbook and doesn't require uploading every contact. @FrayxRulez please reconsider opening this :-)

FWIW, I wouldn't know where to begin looking to address this as a PR, as I'm not a .Net or UWP developer. Getting into this would be opening a whole new can of worms for me. Even so, this issue being closed would signal to me that this would be an unwanted feature? @FrayxRulez would you accept a PR for contacts integration without uploading contacts onto Telegram?

@ivucica
Copy link

ivucica commented Jan 2, 2020

Here's my layman view:

A quick look at https://github.com/UnigramDev/Unigram/blob/8a59afec7dcdfc271fe05161149b907fa6b9bd1f/Unigram/Unigram/Services/ContactsService.cs tells me that a reason why the export happens is so that Microsoft-generated ID for a contact gets the x_user_data_account and x_contact_list attributes set. Are these uploaded? I can't tell.

Assuming that Telegram's built-in addressbook phone numbers are visible to TDLib-using software, it's probably possible to produce an intersection of the set of contacts in Windows.ApplicationModel.Contacts.ContactList and Windows.ApplicationModel.Contacts.ContactAnnotationList, and the ones already present in Telegram.Td.Api.Users.

Given that the term import seems to mean "grab Windows contacts and shove them into importingContacts before invoking Telegram.Td.Api.ChangeImportedContacts", it looks like the correct place to do this would be ImportAsync.

Am I guessing this correctly? I'm unlikely to actually fully set up a dev environment, but if I do, would this approach be accepted as a PR?

@FrayxRulez
Copy link
Collaborator

My only doubt would be how to implement it having a clear and straightforward UX

@dancojocaru2000
Copy link
Author

Since this seems like a quite advanced feature, it shouldn't necessarily have much of an UX. This would be well suited in a kind of hidden menu in a "Telegram Debug" style area (on the iOS app, if you tap the settings icon 10 times, it opens a menu with all kinds of debug options).

@MarcAnt01
Copy link
Collaborator

In my opinion that's just the contrary of a clear and straightforward UW

@ivucica
Copy link

ivucica commented Jan 3, 2020 via email

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

No branches or pull requests

4 participants