telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.35k stars 5.24k forks source link

Use native notifications by default #3831

Closed csoriano1618 closed 3 years ago

csoriano1618 commented 7 years ago

Hello,

For Linux, non-native notifications are used by default. There is a setting for enabling them, but having them off by default undermines the experience in Linux desktops where notifications are a core part of chat applications.

In Telegram case, using native notifications will have the following benefits:

  1. User will have an equal experience across apps
  2. Notifications are implemented in the way the desktop the user is using wants them to be. Including theme, position, etc.
  3. User will be able to disable and control notifications from the system settings, together with all the other apps.
  4. Notifications can have actions, useful for integration with the system and quick access from the main UI.

Also, having this will help with issue #3830.

Documentation for native notifications can be found here. Feel free to ask any question you may have about how to implement this or the reasoning behind.

Thanks

auchri commented 7 years ago

@csoriano1618 There are a few issues with the native linux notifications, which should be resolved first (imho)

csoriano1618 commented 7 years ago

Hey Aurchri,

Can you point to these issues?

auchri commented 7 years ago

@csoriano1618 Sure:

csoriano1618 commented 7 years ago

Thanks @auchri!

Looks like issue #3750 is a valid one, we usually have a fallback if no notification server is present. However this is quite the least common case, since the major desktops like KDE, Unity, GNOME have them since years ago. Issue #1026 looks like a KDE bug managing wrongly which app should be raised.

However, I'm not entirely sure they should be blocking native notifications, but that's your terrain of course :)

john-preston commented 7 years ago

Non native notifications allow users to fast-reply from notifications, they respect tdesktop theme and can be customized for screen corner and toast count.

With native notifications in Ubuntu you can't even click on the notification to get the app and read the message. They work bad / unpredictable in several other tested DEs. I can't use them by default :(

csoriano1618 commented 7 years ago

Hey John,

Non native notifications allow users to fast-reply from notifications

Do you have a screenshot of that so I can understand it better?

they respect tdesktop theme

Not here in GNOME at least. Are you sure they respect the system theme? How do they do if Telegram don't access the CSS of the system theme?

can be customized for screen corner and toast count.

The point is precisely to avoid the user the need to tweak every application that implement non-native notifications in its own way. With native notifications all is integrated with the system and can be tweaked from a system setting (if the DE does allow that), without more work from the user or code from the application.

With native notifications in Ubuntu you can't even click on the notification to get the app and read the message

That sounds like a bug, which I personally didn't experience. I believe with Ubuntu moving to GNOME this will be fixed. If not, I'm happy to take a look. edit: Someone using Ubuntu corrected me here. Ubuntu with Unity doesn't allow clicking on notifications by design. As mentioned though this is going to change with the switch to GNOME.

They work bad / unpredictable in several other tested DEs

In principle this is a core part of the Linux desktop experience and freedesktop standard, so all major DE's implement it reliably. Do you have some links to those issues so I can approach them and make sure we find a solution?

In any case, thanks for taking a look at this!

stek29 commented 7 years ago

@csoriano1618

Non native notifications allow users to fast-reply from notifications

Do you have a screenshot of that so I can understand it better?

I have a screenshot from native OSX notifications in #2121. Non-native notifications have the same thing -- there is a "reply" button in corner which allows you to reply to message/mark it as read right from notification, without opening the app. Android and iOS have it too.

they respect tdesktop theme

Not here in GNOME at least. Are you sure they respect the system theme? How do they do if Telegram don't access the CSS of the system theme?

TDesktop has his own theming, which does not respect system themes, but system themes don't respect tdesktop themes too.

AndydeCleyre commented 7 years ago

@stek29

This is off topic but you prohibited non collaborators from responding to you in the relevant issue. You said "links are not rejected by server unless you're a bot" but I have a feeling you mean the opposite of what you said. You may want to update your comment to undo the misinformation.

stek29 commented 7 years ago

@AndydeCleyre yes, that was a typo. Thanks.

hxss commented 6 years ago

After I was upgrade to 1.2.6-3, telegram lost support of native notifications. screenshot from 2018-01-11 00-10-13 screenshot from 2018-01-11 00-40-22 screenshot from 2018-01-11 01-10-51 screenshot from 2018-01-11 01-12-00 screenshot from 2018-01-11 01-12-01

auchri commented 6 years ago

@hxss Try the binary from https://desktop.telegram.org/ 😉

jtojnar commented 6 years ago

@hxss This is a packaging bug: https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/telegram-desktop&id=a0e4d3de9147e189dfa33db8b32d7e0dc38f6fa1

ayekat commented 6 years ago

@hxss see also the discussion here: https://github.com/telegramdesktop/tdesktop/issues/91#issuecomment-356598060

hxss commented 6 years ago

@auchri similar to 1.2.6-1 - support of native notifications, but problem with tray menu

Jacobtey commented 6 years ago

After I was upgrade to 1.3.7, telegram lost support of native notifications for Linux

renatobellotti commented 5 years ago

Any progress here?

github12101 commented 5 years ago

Two years and still not fixed? What is going on?

feralheart commented 5 years ago

Can we know what obstructs this task?

Pointedstick commented 5 years ago

Probably lack of resources to fix everything, which is the limiting factor for all software projects, and particularly for open-source software.

Storm-Engineer commented 4 years ago

My ticket was closed as a dupe of this one but I still had native notifications until a few days ago.

NilsIrl commented 4 years ago

https://github.com/telegramdesktop/tdesktop/issues/3831#issuecomment-324926644 seems to have been addressed so unless there are other issues I do not see what is blocking this from being done.

Storm-Engineer commented 4 years ago

I still don't understand how my issue that only started the past week is a dupe of this several years old report.

Aokromes commented 4 years ago

maybe you use distribution package and they changed things lately?

AndydeCleyre commented 4 years ago

@Aokromes This report is about the default notification mode, while #7130 is about the native mode being available at all, so that is not a dupe of this issue.

Aokromes commented 4 years ago

check https://github.com/telegramdesktop/tdesktop/issues/3831#issuecomment-356715454 and https://github.com/telegramdesktop/tdesktop/issues/3831#issuecomment-397833274

AndydeCleyre commented 4 years ago

check #3831 (comment) and #3831 (comment)

Yes, in those comments, people are talking about issue #7130. They are doing so in this conversation, which is meant to concern the stated issue #3831, but that does not change what #3831 is: "Use native notifications by default"

Storm-Engineer commented 4 years ago

As the others have stated, my ticket #7130 was about the option missing entirely, so I still don't see how it is a duplicate of this ticket, but it's still closed so not sure what can I do.

mirh commented 4 years ago

A problem that may still be observed is that if you get a notification from a channel where you have no "write permission", the reply button is still there.

ilya-fedin commented 4 years ago

#3831 (comment) seems to have been addressed so unless there are other issues I do not see what is blocking this from being done.

As far as I know, this is blocked by a lack of functionality by native notification daemons vs telegram notificaitons. For example:

The one notification daemon that doesn't have any issue is KDE one. But looks like gnomers even doesn't want add these improvements to the specification: https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/24 So, probably, native notifications will never be by default, since it is impossible to add all these features to all the widely-used notifications daemons.

ilya-fedin commented 4 years ago

The post above, probably, can be reduced to this statement: all widely-used notification daemons must have functional parity with telegram notifications at least. Currently this is true only for KDE.

andaag commented 4 years ago

My 2 cents:

So it comes down to quick reply - using native to get a more streamlined look&feel, or adding more features - which is a product decision, so I get that.

I'd be interested in how many people use the quick reply - when they also don't have a notification daemon that supports this by default though, but I'm genuinely not sure what the results would be 😀

ilya-fedin commented 4 years ago

Unity is deprecated, so that's a non issue

Telegram supports Ubuntu 12.04+ and preston may want to don't offend its users

I believe image_data is also deprecated, which might explain the issues with other notification daemon pictures as well.

I can't find any note that it is deprecated. And if it become deprecated, that will be another, a way bigger and serious blocker.

andaag commented 4 years ago

Ubuntu 12.04 hit end of life in 2017, I wouldn't prioritize supporting releases that are that old?

https://developer.gnome.org/notification-spec/ - I mixed this up, I was thinking of icon_data. That said, image_data IS deprecated, image-data is not 😂

ilya-fedin commented 4 years ago

That said, image_data IS deprecated, image-data is not

When I said image_data, I meant the feature that there are a big picture in the notification :)

Ubuntu 12.04 hit end of life in 2017, I wouldn't prioritize supporting releases that are that old?

Me too, but not you or I decide

GabVenturato commented 4 years ago

Hi, can I ask you why if "Use native notifications" is enabled, then is not used the system sound for them (but only the notification visualization)?

In the last GNOME versione they added the "do not disturb" feature, which is pretty useful, but if some applications don't use the system sound it results in a very less useful feature.

ilya-fedin commented 4 years ago

Hi, can I ask you why if "Use native notifications" is enabled, then is not used the system sound for them (but only the notification visualization)?

Because only gnome supports sound-name key, while other notificaiton daemons support only sound-file

And even if I specify tdesktop's mp3 to sound-file, it doesn't work, it plays only wavs. I tried to convert on demand with tdesktop's ffmpeg code, but that was too complicated to me and left this as is.

I hope that KDE enhancements to the specification will be accepted and there are will be Inhibition key to get don't disturb status

GabVenturato commented 4 years ago

@ilya-fedin sorry for the (very likely) stupid question, but isn't it possible to say something like "if DE=gnome then use sound-name key otherwise use sound file"?

Moreover I didn't understand the last part about KDE.

Anyway, thank you very much for your answer :)

ilya-fedin commented 4 years ago

isn't it possible to say something like "if DE=gnome then use sound-name key otherwise use sound file"?

And even if I specify tdesktop's mp3 to sound-file, it doesn't work, it plays only wavs. I tried to convert on demand with tdesktop's ffmpeg code, but that was too complicated to me and leaved this as is.

Moreover I didn't understand the last part about KDE.

KDE developers are proposing an api to get the state of don't disturb mode. tdesktop already uses it, so that on KDE the sound is suppressed.

ilya-fedin commented 4 years ago

@GabVenturato i forgot to say that I left a hidden feature: if you disable sound in settings, sound-name will be set.

GabVenturato commented 4 years ago

@ilya-fedin uh great! I tried it! The problem is that even in that way the sound even in the do not disturb mode 🤔 moreover, the sound is very low wrt the default one (and it seems not the sound for the notification that I've set on my system settings)

ilya-fedin commented 4 years ago

The problem is that even in that way the sound even in the do not disturb mode

That's an gnome issue then

and it seems not the sound for the notification that I've set on my system settings

that's right, message-new-instant sound from your sound theme is used

GabVenturato commented 4 years ago

Ok great! Thank you very much for your answers :) I will check with gnome developers

stale[bot] commented 4 years ago

Hey there!

This issue will be automatically closed in 7 days if there would be no activity. We therefore assume that the user has lost interest or resolved the problem on their own.

Don't worry though; if this is an error, let us know with a comment and we'll be happy to reopen the issue.

Thanks!

Pointedstick commented 4 years ago

Still relevant.

ilya-fedin commented 3 years ago

Looks like inline-reply feature was declined from standardization: https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/24 This means it's unlikely that native notifications will become default in tdesktop.

powerman commented 3 years ago

@ilya-fedin Well, think this way: I never use inline-reply on desktop (and it's hard for me to see how it's useful on desktop, but I do use it sometimes on mobile), but I do need to disable all notifications automatically when I start mplayer (and enable them back when it exits). Another case is when I do some screen sharing/recording for my team at work and I don't want to get notification popups with messages from my family or bank or whatever. With native notifications (I use xfce4-notifyd) it's possible: I can run xfconf-query -c xfce4-notifyd -p /do-not-disturb -s true in ~/.local/bin/mplayer around running mplayer, and I can use GUI tool xfce4-notifyd-config to disable all notifications before starting screen sharing/recording. AFAIK Telegram does not provide any way to disable notifications from command line. And having to disable and then enable notifications manually both in xfce4-notifyd-config and telegram tray icon is annoying and I often forget about second one (even worse, if other messengers will do the same, we'll have to disable/enable notifications in several more places).

To me, ability to control all notifications at one place and ability to do this from command line is much more important UX feature than inline replies on desktop. So, we do need telegram to be able to use system notifications, by default or not, this feature is important!

ilya-fedin commented 3 years ago

I don't know why you wrote this post, if you need native notifications, just enable them in settings, but they won't become default until there will be feature parity with custom ones at least.

powerman commented 3 years ago

Sorry, I think I wrote it because some time ago another important feature (ALSA support) was removed from telegram, and I don't want this to happens again here.

ilya-fedin commented 3 years ago

ALSA support is still here, it's just google's webrtc doesnt support ALSA for calls, but OpenAL backend was finally implemented for calls in 2.5.4

ilya-fedin commented 3 years ago

@john-preston and I discussed this, 2.5.6 will use native notifications by default with qualified daemons. @Aokromes you can close the issue