-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
Crossing a notification with a cursor too fast makes it freeze #28811
Comments
This looks like a bug in your WM - it doesn't seem to send focus leave event |
I'm pretty sure that's not the case, based on the output of additional debug output that I added to Telegram. You could also try reproducing it on your WM, it should work. Anyway, I'm working on a patch for this, should be ready soon! |
@ilya-fedin, just reproduced it on Telegram Desktop 5.9 on Windows 11 |
hm, I asked @Aokromes to reproduce on Windows yesterday and he closed the report |
no i closed it before you told me to reproduce lol i never have seen myself this on windows 10. |
No, I sent you the link and asked "can you reproduce?" |
`Ui::Animations::Simple`'s api is incomplete. It provides the `.animating()` method for users to tell if the animation is active, but it is not sufficient to tell the state when the same animation is used for both fading in and fading out. The `.fadingOut()` method is intended to tell these transitions apart. Intended for telegramdesktop/tdesktop#28811
Previously, `Window::Notifications::Default::internal::Widget` was using `Ui::Animations::Basic`'s `.animating()` method to tell if a notification was in the showing state. That is incorrect: a notification may be in the animating state whether it is fading out (i.e., not showing) or fading in (i.e., to be shown). This commit fixes it by using the `Ui::Animations::Basic::fadingOut` method for telling the notification state instead. Fixes telegramdesktop#28811.
`Ui::Animations::Simple`'s api is incomplete. It provides the `.animating()` method for users to tell if the animation is active, but it is not sufficient to tell the state when the same animation is used for both fading in and fading out. The `.fadingOut()` method is intended to tell these transitions apart. Intended for telegramdesktop/tdesktop#28811
Previously, `Window::Notifications::Default::internal::Widget` was using `Ui::Animations::Basic`'s `.animating()` method to tell if a notification was in the showing state. That is incorrect: a notification may be in the animating state whether it is fading out (i.e., not showing) or fading in (i.e., to be shown). This commit fixes it by using the `Ui::Animations::Basic::fadingOut` method for telling the notification state instead. Fixes telegramdesktop#28811.
Just in case, here is a video from Windows 11, using Telegram 5.9, downloaded and installed from the official website: 2025-01-01.19-11-03.mp4 |
Is it an x86 Windows machine? The ARM binary uses a different Qt version so it could have bugs the x86 version doesn't have and I believe @Aokromes has only x86 machine. |
Yes, it is an x86_64 machine |
…ently Previously, `Window::Notifications::Default::Manager` would not start hiding notifications that are fading in when other notifications should hide. This would lead to some notifications never hiding, e.g., when the cursor passes through the notification too quickly and there was not enough time for the notification to fade in completely. Fixes telegramdesktop#28811.
…ently Previously, `Window::Notifications::Default::Manager` would not start hiding notifications that are fading in when other notifications should hide. This would lead to some notifications never hiding, e.g., when the cursor passes through the notification too quickly and there was not enough time for the notification to fade in completely. Also renamed `Widget::isShowing` -> `Widget::isFadingIn` for clarity. Fixes telegramdesktop#28811.
Steps to reproduce
Expected behaviour
After a timeout, the notification fades out
Actual behaviour
The notification hangs there, until cleared with another action (e.g., mouse click)
Demo:
notification_paralyzed_demo.mp4
Operating system
Arch Linux, i3 version 4.24
Version of Telegram Desktop
5.9.2
Installation source
Other (unofficial) source
Crash ID
No response
Logs
No response
The text was updated successfully, but these errors were encountered: