TelegramMessenger / Telegram-iOS

Telegram-iOS
6.29k stars 1.65k forks source link

Allowing contact through "Do not Disturb" / Focus #1160

Open aneillans opened 1 year ago

aneillans commented 1 year ago

It would be really good to get "full" integration on iOS to allow whitelisting an individual contact to break through on DnD / Focus modes in Telegram, much like things like WhatsApp allows. I believe this can be done by integrating into the address book and notifications further ?

ali-fareed commented 1 year ago

Doesn't it work currently?

aneillans commented 1 year ago

Nope; you have to exclude the entire app which means you then have always mute full conversations. Which is less than ideal.

The ideal would be the Telegram contact type to persist properly on the contact record (it doesn't just reverts to other on current iOS build, 16.6), and for this to be correctly handle in notification filtering.

ali-fareed commented 1 year ago

Adding regular phonebook contacts to focus exceptions works just fine for me. Maybe yours are not stored using the normalized (international) phone format?

Here is when the OS contact id is resolved: https://github.com/TelegramMessenger/Telegram-iOS/blob/master/Telegram/NotificationService/Sources/NotificationService.swift#L1852

aneillans commented 1 year ago

I wonder if that's the key thing - a lot of my telegram contacts don't share their numbers on the platform (even where I have it) due to security issues they perceive on the platform itself / with others - therefor I bet the resolution is not working, as it only looks for the number and not the other service ?

aneillans commented 10 months ago

Just revisiting this, and been poking through the code again; I can't actually see any resolution of contacts that are not device imported (I don't do contact sync, and don't see why this would be required for this use case?) nor any checks for the Instant Message property types (although I can see a few question marks being raised on what format is even expected in this field when you set the type to Telegram - is it the full handle with @, without the @, the url - https://t.me etc)